/*! version:2023-10-16 16:48 */
!function (t, e) {
    "object" == typeof exports && "object" == typeof module ? module.exports = e(require("Vue"), require("jQuery"), require("lazyload")) : "function" == typeof define && define.amd ? define(["Vue", "jQuery", "lazyload"], e) : "object" == typeof exports ? exports["y_index"] = e(require("Vue"), require("jQuery"), require("lazyload")) : t["y_index"] = e(t["Vue"], t["jQuery"], t["lazyload"])
}("undefined" != typeof self ? self : this, function (t, e, a) {
    return function (t) {
        function e(a) {
            if (i[a]) return i[a].exports;
            var n = i[a] = {
                i: a,
                l: !1,
                exports: {}
            };
            return t[a].call(n.exports, n, n.exports, e), n.l = !0, n.exports
        }

        var i = {};
        return e.m = t, e.c = i, e.d = function (t, i, a) {
            e.o(t, i) || Object.defineProperty(t, i, {
                configurable: !1,
                enumerable: !0,
                get: a
            })
        }, e.n = function (t) {
            var i = t && t.__esModule ? function () {
                return t["default"]
            } : function () {
                return t
            };
            return e.d(i, "a", i), i
        }, e.o = function (t, e) {
            return Object.prototype.hasOwnProperty.call(t, e)
        }, e.p = "../", e(e.s = 64)
    }([function (t, e, i) {
        "use strict";
        var a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                return typeof t
            } : function (t) {
                return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
            },
            n = {};
        n.apply = function (t, e, i) {
            if (i && n.apply(t, i), t && e && "object" == (void 0 === e ? "undefined" : a(e)))
                for (var o in e) t[o] = e[o];
            return t
        }, n.override = function (t, e) {
            if (e) {
                var i = t.prototype;
                n.apply(i, e), e.hasOwnProperty("toString") && (i.toString = e.toString)
            }
        }, n.extend = function () {
            var t = function (t) {
                    for (var e in t) this[e] = t[e]
                },
                e = Object.prototype.constructor;
            return function (i, o, s) {
                "object" == (void 0 === o ? "undefined" : a(o)) && (s = o, o = i, i = s.constructor != e ? s.constructor : function () {
                    o.apply(this, arguments)
                });
                var r, l = function () {
                    },
                    d = o.prototype;
                return l.prototype = d, r = i.prototype = new l, r.constructor = i, i.superclass = d, d.constructor == e && (d.constructor = o), i.override = function (t) {
                    n.override(i, t)
                }, r.superclass = r.supr = function () {
                    return d
                }, r.override = t, n.override(i, s), i.extend = function (t) {
                    return n.extend(i, t)
                }, i
            }
        }();
        var o = {
                constructor: function (t) {
                    this.components || (this.components = {}), this.config || (this.config = {}), this.container || (this.container = t);
                    var e = this;
                    "function" == typeof this.getDom && $(this.getDom()).on("render", function () {
                        Array.prototype.shift.call(arguments), e.render.apply(e, arguments)
                    }), this.initComponents()
                },
                addConfig: function (t, e) {
                    t && e && (this.config[t] = e)
                },
                getConfig: function (t) {
                    return t ? this.config[t] : this.config
                },
                addComponent: function (t, e) {
                    this.components[t] || (this.components[t] = e)
                },
                getComponent: function (t) {
                    return this.components[t]
                },
                subscribe: function (t, e) {
                    e = e || "publish", $.isArray(t) || (t = [t]);
                    for (var i = this, a = 0; a < t.length; a++) {
                        var n = t[a];
                        $(n).on(e, function () {
                            i.subscribeEvent.apply(i, arguments)
                        })
                    }
                },
                publish: function (t) {
                    t = t || "publish", $(this).trigger(t, this)
                },
                subscribeEvent: function () {
                },
                render: function (t) {
                },
                getDom: function () {
                },
                initComponents: function () {
                }
            },
            s = n.extend(function () {
            }, o);
        n.apply(s, o), t.exports = s
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e, i) {
        "use strict";
        i(1), i(3), i(2), i(8), i(4),
            function (t, e) {
                window.FramePage = function () {
                    function t(t, e, i, a, n) {
                        var o = (new Date).getTime();
                        if (t && e) {
                            var s = {
                                parent_title: i,
                                parent_curl: e,
                                url: t,
                                title: a
                            };
                            localStorage.setItem("yyt_ifr_" + o, JSON.stringify(s)), location.href = n + "?page=" + o + "&mode=inframe"
                        }
                    }

                    function e() {
                        var e = yytUtil.url.getUrlParam("page"),
                            i = JSON.parse(localStorage.getItem("yyt_ifr_" + e)),
                            a = i.url;
                        a && ($(".main-content iframe").css("display", "block").siblings().css("display", "none"), $(".main-content iframe").attr("src", a), document.getElementById("myFrame").onload = function () {
                            var e = $(window.frames["myFrame"].document);
                            "inframe" == yytUtil.url.getUrlParam("mode") && (e.find("body").addClass("in-frame"), e.find("html").css("overflow", "hidden"), window.resizeIFrameHeight()), -1 == a.indexOf("CustSurveyFill") && -1 == a.indexOf("custSurveyFill") || $("title").html("我的问卷_全国卷烟订货平台");
                            var n = {
                                itemText: i.parent_title
                            };
                            i.title && (n.secondItemText = i.title), YytCrumb.initCrumb(n, i.parent_curl), e.find(".notice-filter").css("display", "none"), e.find(".notice-panel .bd").css("border", "none"), e.find(".notice-panel .bd-content").css("border", "none"), e.find(".yyt-messagecenter").length && e.find(".yyt-messagecenter").css({
                                margin: "0",
                                "border-radius": "0"
                            }), window.frames["myFrame"].menu && (window.frames["myFrame"].menu.getDocumentDetail = function (e) {
                                this.$set(e, "isRead", !0);
                                var i = new Array;
                                localStorage.getItem("cookie") && localStorage.getItem("cookie") === document.cookie || (localStorage.setItem("cookie", document.cookie), localStorage.setItem("orderDocumentPKs", "")), localStorage.getItem("orderDocumentPKs") && (i = localStorage.getItem("orderDocumentPKs").split(",")), i.includes(e.pk_infocollaboration) || (i.push(e.pk_infocollaboration), localStorage.setItem("orderDocumentPKs", i));
                                var a = "/marketing-orderplatform/ui/pages/documentdetail.html?funCode=MOHG0418&pk_infocollaboration=" + e.pk_infocollaboration + "&navName=" + e.vtitle + "&title=" + e.vtitle;
                                $("title").html(e.prevNavName + "_全国卷烟订货平台"), t(a, $(".yyt-crumb-second").attr("data-url"), e.prevNavName, e.vtitle, "/marketing-orderplatform/ui/pages/information.html")
                            }), window.top.platformPageUtils = {}, window.top.platformPageUtils.open = function (e) {
                                var i, a = $(".yyt-crumb-second").attr("data-url"),
                                    n = $(".yyt-crumb-second").find(".yyt-crumb-page").html();
                                -1 != e.indexOf("title") && (i = e.slice(e.indexOf("title=") + 6)), t(e, a, n, i, "/marketing-orderplatform/ui/pages/infodetail.html")
                            }, window.top.platformPageUtils.getPersonalConfig = function () {
                                return {
                                    pageOpenType: "T"
                                }
                            }
                        }, window.resizeIFrameHeight = function (t) {
                            if (t) {
                                t < $(window.frames["myFrame"].document).height() && (t = $(window.frames["myFrame"].document).height());
                                var e = "height:" + t + "px !important; ";
                                return $(".wrapper-iframe .wrapper-body").css("cssText", e), void $(".main-content").css("cssText", e)
                            }
                            t = $(window.frames["myFrame"].document).height();
                            var e = "height:" + 1.03 * t + "px !important; ";
                            $(".wrapper-iframe .wrapper-body").css("cssText", e), $(".main-content").css("height", 1.06 * t)
                        })
                    }

                    return {
                        openPage: t,
                        setIFrame: e
                    }
                }()
            }()
    }, function (t, e, i) {
        "use strict";
        !function (t, e) {
            window.Utils = function () {
                function t(t) {
                    if (document.cookie.length > 0) {
                        var e = document.cookie.indexOf(t + "=");
                        if (-1 != e) {
                            e = e + t.length + 1;
                            var i = document.cookie.indexOf(";", e);
                            return -1 == i && (i = document.cookie.length), unescape(document.cookie.substring(e, i))
                        }
                    }
                    return ""
                }

                function e(t, e, i) {
                    var a = new Date;
                    a.setDate(a.getDate() + i), document.cookie = t + "=" + escape(e) + (null == i ? "" : ";expires=" + a.toGMTString())
                }

                return {
                    getCookie: t,
                    setCookie: e
                }
            }()
        }()
    }, function (t, e, i) {
        "use strict";
        t.exports = {
            user: {
                userinfo: "/ecommerce/user/userinfo.json",
                shopcart: "/ecommerce/shopcart.json"
            },
            search: "/ecommerce/search.json",
            sso: {
                login: "/ecommerce/login",
                logout: "/ecommerce/logout"
            },
            product: {
                products: "/ecommerce/products.html"
            },
            menu: {
                menu: "/ecommerce/getMenu.json"
            },
            index: {
                getNotice: "/ecommerce/getNotice.json",
                getInfoClass: "/ecommerce/getInfoClass.json",
                getDisplayImg: "/ecommerce/getDisplayImg.json"
            },
            list: {
                getCgtdispQueryCondition: "/ecommerce/getCgtdispQueryCondition.json",
                getCgtdispDataList: "/ecommerce/getCgtdispDataList.json"
            },
            detail: {
                getCgtdispDetail: "/ecommerce/getCgtdispDetail.json"
            },
            personal: {
                getCustomerInfo: "/ecommerce/getCustomerInfo.json",
                update: "/ecommerce/update.json"
            }
        }
    }, function (t, e) {
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                height: "30px",
                width: "100%"
            }
        }

        i(2);
        var n = i(0);
        i(5), i(6), a.prototype.getDom = function () {
            return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="yyt-shortcut"]'), this.__dom)
        }, a.prototype.render = function (t) {
            function e(t) {
                return yytUtil.ajax({
                    async: !0,
                    method: "POST",
                    url: "/marketing-orderplatform/Analysis/Cgtdisp/getIndexSurveyModalCtrValue.json"
                })
            }

            function i(t) {
                var e = t.questionaireToDoNum,
                    i = yytUtil.url.getUrlParam("vlicensecode", t.questionaireUrl);
                $("#questionaireToDoNum").text("(" + e + ")"), $("#questionaireUrl").attr("href", "javascript:void(0)"), $("#questionaireUrl").attr("data-url", t.questionaireUrl), $("#questionaireUrl").attr("data-license", i), $("#questionaireUrl").on("click", function () {
                    location.href = "../pages/questionnaire.html?funCode=MSHA0404&vlicensecode=" + i
                })
            }

            function a(t) {
                e().then(function (e) {
                    function i(t, e) {
                        var i = "/marketing-survey/yyt/images/icon-question.png";
                        if (t.vcoverurl) {
                            var a = /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i,
                                i = t.vcoverurl;
                            a.test(t.vcoverurl) ? i = t.vcoverurl : -1 == t.vcoverurl.indexOf("http") && -1 == t.vcoverurl.indexOf("https") && (i = "/yytca-qn-app/image/" + t.vcoverurl)
                        }
                        l.$modal.find(".question-banner img").attr("src", i), l.$modal.find(".question-title span").html(t.vtitle || ""), l.$modal.find(".question-describe span").attr("title", t.vdescript || ""), l.$modal.find(".question-describe span").html(t.vdescript || ""), l.$modal.find(".end-datetime span").html(t.venddate || "永久有效"), l.$modal.find(".question-modal").data("index", e), l.$modal.find(".question-index").html(e + 1), l.$modal.find(".question-modal").data("url", t.url), l.$modal.find(".question-modal").data("title", t.vtitle), 0 === e ? l.$modal.find(".question-btn-pre").hide() : l.$modal.find(".question-btn-pre").show(), e === r - 1 ? l.$modal.find(".question-btn-next").hide() : l.$modal.find(".question-btn-next").show(), 0 === e && 1 === r && l.$modal.find(".btn-go").html("立即参与")
                    }

                    if (0 != e.ctrValue) {
                        var a = Number(t.questionaireToDoNum);
                        if (!(isNaN(a) || a <= 0 || -1 == window.location.href.indexOf("/index."))) {
                            for (var n = [], o = t.questionaireToDo, s = 0; s < o.length; s++) "Y" !== o[s].isfinish && new Date(o[s].vstartdate) <= new Date && n.push(o[s]);
                            if (!(n.length <= 0)) {
                                var r = n.length,
                                    l = (t.questionaireUrl, yytUtil.modal({
                                        title: "问卷",
                                        content: ['<div class="question-modal" data-url="" data-index="" data-title="">', '<div class="question-banner">', '<img src=""/>', "</div>", '<div class="question-title">', "<span></span>", '<div class="end-datetime">(截止日期：', "<span></span>", ")</div>", "</div>", '<div class="question-describe">', "<span></span>", "</div>", '<div class="question-btn-go"><span class="btn-go">立即参与<span class="question-index"></span>/<span class="question-total">' + r + "</span></span>", "</div>", '<div class="question-btn-pre" title="上一条"><i></i><span>上一条</span>', "</div>", '<div class="question-btn-next" title="下一条"><span>下一条</span><i></i>', "</div>", "</div>"].join("")
                                    }));
                                i(n[0], 0);
                                var d = l.$modal.find(".question-btn-pre"),
                                    c = l.$modal.find(".question-btn-next"),
                                    u = l.$modal.find(".btn-go");
                                d.on("click", function () {
                                    var t = l.$modal.find(".question-modal").data("index");
                                    t = Number(t), isNaN(t) && (t = 0);
                                    var e = --t;
                                    e < 0 ? e = 0 : e >= r && (e = r - 1), i(n[e], e)
                                }), c.on("click", function () {
                                    var t = l.$modal.find(".question-modal").data("index");
                                    t = Number(t), isNaN(t) && (t = 0);
                                    var e = ++t;
                                    e < 0 ? e = 0 : e >= r && (e = r - 1), i(n[e], e)
                                }), u.on("click", function () {
                                    var t = l.$modal.find(".question-modal").data("url") || "",
                                        e = (l.$modal.find(".question-modal").data("vtitle") || yytUtil.url.getUrlParam("title", t), parseInt(yytQuesList.showQuestionWindow(t, l)));
                                    e < r && i(n[e], e)
                                })
                            }
                        }
                    }
                })
            }

            var n = Utils.getCookie("usercode"),
                o = yytUtil.storage.getSessionStorageItem(n + "_userinfo");
            o ? $(".Y_shortcut_login span").html(o.userName) : yytUtil.ajax({
                async: !0,
                method: "GET",
                url: "/marketing-orderplatform/MOH4/MOH404/MOH40406/getLoginUserInfo.json",
                onSuccess: function (t) {
                    $(".Y_shortcut_login span").html(t.userName), t.profilePhotoUrl = null, yytUtil.storage.setSessionStorageItem(n + "_userinfo", t)
                },
                onFailure: function () {
                }
            });
            var s = yytUtil.storage.getSessionStorageItem(n + "_userques");
            s ? (i(s), a(s)) : yytUtil.ajax({
                async: !0,
                method: "POST",
                url: "/marketing-orderplatform/MOH4/MOH404/MOH40406/getMyQuestionnaire.json",
                onSuccess: function (t) {
                    i(t), yytUtil.storage.setSessionStorageItem(n + "_userques", t), a(t)
                }
            }), $(document).on("click", ".Y_logout_btn", function (t) {
                yytUtil.msg.showConfirmMsg({
                    title: "提示",
                    content: "确定要退出吗？",
                    confirm: function (t) {
                        for (var e in localStorage) -1 !== e.indexOf("yyt_ifr") && yytUtil.storage.removeItem(e);
                        sessionStorage.clear(), location.href = "/marketing-orderplatform/logout", t.destroy()
                    }
                })
            })
        }, t.exports = n.extend(a.prototype)
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                height: "20",
                width: "509"
            }
        }

        var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        };
        i(3), i(5);
        var o = i(7),
            s = i(0);
        i(6), a.prototype.getDom = function () {
            return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="navigator"]'), this.__dom)
        }, a.prototype.render = function () {
            function t(t) {
                $(".yyt-navigator").children().remove();
                for (var i = "", a = 0; a < t.menu.length; a++) i += '<span class="head-tab-item f-left ' + t.menu[a].code + '"  type="' + t.menu[a].code + "\"><a href='javascript:void(0)' data-url='" + t.menu[a].url + "'> <img src=\"" + t.menu[a].imgUrl + '"></img><span>' + t.menu[a].name + "</span></a></span>", t.orderSiteUrl && $(".logo-btn").attr("url", t.orderSiteUrl);
                $(i).appendTo(".yyt-navigator");
                var o = yytUtil.storage.getSessionStorageItem(e + "_usermenu"),
                    s = location.href.substring(location.href.lastIndexOf("pages/") + 6, location.href.indexOf(".html"));
                if ("index" == s) $(".head-tab-item[type=index]").addClass("active").siblings().removeClass("active");
                else if ("list" == s || "detail" == s) $(".head-tab-item[type=brand]").addClass("active").siblings().removeClass("active");
                else if ("openinfo" == s || "openinfodetail" == s) $(".head-tab-item[type=openInfo]").eq(0).addClass("active").siblings().removeClass("active");
                else if ("retail" == s || "retaildetail" == s) $(".head-tab-item[type=openInfo]").eq(1).addClass("active").siblings().removeClass("active");
                else if ("complaints" == s) $(".head-tab-item[type=complaint]").addClass("active").siblings().removeClass("active");
                else {
                    var r = yytUtil.url.getUrlParam("page", location.href);
                    if (r) {
                        var l = JSON.parse(localStorage.getItem("yyt_ifr_" + r));
                        if (o && o.menu)
                            for (var a = 0; a < o.menu.length; a++) l.parent_title == o.menu[a].name && ($("title").html(l.parent_title + "_全国卷烟订货平台"), $(".head-tab-item").eq(a).addClass("active").siblings().removeClass("active"))
                    }
                }
                $(".head-tab-item").on("click", function (t) {
                    var e = $(this).find("a").attr("data-url");
                    e && -1 === e.indexOf("undefined") && ("order" == $(this).attr("type") ? window.open(e) : "index" == $(this).attr("type") || "brand" == $(this).attr("type") || "openInfo" == $(this).attr("type") || "complaint" == $(this).attr("type") ? location.href = e : FramePage.openPage(e, e, $(this).find("span").html(), "", "/marketing-orderplatform/ui/pages/infodetail.html"))
                }), $(".logo-btn").on("click", function (t) {
                    var e = $(this).attr("url");
                    e && -1 === e.indexOf("undefined") && (window.open(e), "object" == ("undefined" == typeof YYTUbaLogUtils ? "undefined" : n(YYTUbaLogUtils)) && YYTUbaLogUtils.logUba({
                        at: ubalogConstants.action.BUTTON,
                        btn: "卷烟订货"
                    }))
                })
            }

            var e = Utils.getCookie("usercode"),
                i = yytUtil.storage.getSessionStorageItem(e + "_usermenu");
            if (i) t(i);
            else {
                o.menu.menu;
                yytUtil.ajax({
                    async: !0,
                    method: "POST",
                    url: "/marketing-orderplatform/MOH4/MOH404/MOH40406/getMenu.json",
                    onSuccess: function (i) {
                        yytUtil.storage.setSessionStorageItem(e + "_usermenu", i), t(i)
                    }
                })
            }
        }, t.exports = s.extend(a.prototype)
    }, function (t, e, i) {
        "use strict";
        !function () {
            window.addEventListener("resize", function () {
            })
        }()
    }, , , function (t, e, i) {
        "use strict";
        t.exports = function (t) {
            return t.webpackPolyfill || (t.deprecate = function () {
            }, t.paths = [], t.children || (t.children = []), Object.defineProperty(t, "loaded", {
                enumerable: !0,
                get: function () {
                    return t.l
                }
            }), Object.defineProperty(t, "id", {
                enumerable: !0,
                get: function () {
                    return t.i
                }
            }), t.webpackPolyfill = 1), t
        }
    }, function (e, i) {
        e.exports = t
    }, , function (t, e) {
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                height: "436",
                width: "100%"
            }
        }

        i(8);
        var n = i(0);
        $.extend(a.prototype, n, {
            getDom: function () {
                return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="yyt-footer"]'), this.__dom)
            }
        }), t.exports = a
    }, function (t, i) {
        t.exports = e
    }, function (t, e, i) {
        "use strict";
        i(1), i(17), i(4), i(18), i(19), i(23), i(24), i(25), i(26), i(27), i(28), i(29), i(30), i(31), i(32), i(33);
        i(9);
        !function (t, e) {
            window.yytQuesList = function () {
                function t(t, e) {
                    var i, a, n;
                    yytUtil.url.getUrlParam("title", t);
                    e && (i = e.$modal.find(".question-total").length, a = e.$modal.find(".question-total").html(), n = e.$modal.find(".question-index").html()), window.quesModal = yytUtil.modal({
                        title: "问卷",
                        content: '<div class="wrapper" id="ques"></div>',
                        isShowFooter: !1,
                        width: "50%",
                        height: "90%",
                        beforeClose: function () {
                            !e || i && a != n || e.destroy();
                            var o = yytUtil.url.getUrlParam("billId", t);
                            YYTUbaLogUtils.logUbaByPopupPage({
                                at: ubalogConstants.action.CLOSE,
                                pt: "我的问卷详情",
                                billid: o
                            })
                        }
                    });
                    var o = (window.yytQues.initQuestionnaire(t), yytUtil.url.getUrlParam("billId", t));
                    return YYTUbaLogUtils.logUbaByPopupPage({
                        at: ubalogConstants.action.OPEN,
                        pt: "我的问卷详情",
                        billid: o
                    }), n || 1
                }

                return {
                    showQuestionWindow: t
                }
            }()
        }()
    }, function (t, e, i) {
        "use strict"
    }, function (t, e, i) {
        "use strict";
        var a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                return typeof t
            } : function (t) {
                return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
            },
            n = {};
        n.isIE = function () {
            var t = navigator.userAgent.toLowerCase(),
                e = function (e) {
                    return e.test(t)
                };
            return !e(/opera/) && e(/msie/)
        }(), n.toString = Object.prototype.toString, n.apply = function (t, e, i) {
            if (i && n.apply(t, i), t && e && "object" == (void 0 === e ? "undefined" : a(e)))
                for (var o in e) t[o] = e[o];
            return t
        }, n.namespace = function () {
            var t, e;
            return n.each(arguments, function (i) {
                e = i.split("."), t = window[e[0]] = window[e[0]] || {}, n.each(e.slice(1), function (e) {
                    t = t[e] = t[e] || {}
                })
            }), t
        }, n.ns = n.namespace, n.extend = function () {
            var t = function (t) {
                    for (var e in t) this[e] = t[e]
                },
                e = Object.prototype.constructor;
            return function (i, o, s) {
                "object" == (void 0 === o ? "undefined" : a(o)) && (s = o, o = i, i = s.constructor != e ? s.constructor : function () {
                    o.apply(this, arguments)
                });
                var r, l = function () {
                    },
                    d = o.prototype;
                return l.prototype = d, r = i.prototype = new l, r.constructor = i, i.superclass = d, d.constructor == e && (d.constructor = o), i.override = function (t) {
                    n.override(i, t)
                }, r.superclass = r.supr = function () {
                    return d
                }, r.override = t, n.override(i, s), i.extend = function (t) {
                    return n.extend(i, t)
                }, i
            }
        }(), n.override = function (t, e) {
            if (e) {
                var i = t.prototype;
                n.apply(i, e), n.isIE && e.hasOwnProperty("toString") && (i.toString = e.toString)
            }
        }, n.each = function (t, e, i) {
            if (!n.isEmpty(t, !0)) {
                n.isIterable(t) && !n.isPrimitive(t) || (t = [t]);
                for (var a = 0, o = t.length; a < o; a++)
                    if (!1 === e.call(i || t[a], t[a], a, t)) return a
            }
        }, n.isEmpty = function (t, e) {
            return null === t || void 0 === t || n.isArray(t) && !t.length || !e && "" === t
        }, n.isArray = function (t) {
            return "[object Array]" === n.toString.apply(t)
        }, n.isIterable = function (t) {
            return !(!n.isArray(t) && !t.callee) || (!!/NodeList|HTMLCollection/.test(n.toString.call(t)) || (void 0 !== t.nextNode || t.item) && n.isNumber(t.length))
        }, n.isPrimitive = function (t) {
            return n.isString(t) || n.isNumber(t) || n.isBoolean(t)
        }, n.isNumber = function (t) {
            return "number" == typeof t && isFinite(t)
        }, n.isString = function (t) {
            return "string" == typeof t
        }, n.isBoolean = function (t) {
            return "boolean" == typeof t
        }, n.isElement = function (t) {
            return !!t && !!t.tagName
        }, n.debug = function (t) {
        }, n.UUID = function (t, e) {
            var i, a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),
                n = a,
                o = [];
            if (e = e || n.length, t)
                for (i = 0; i < t; i++) o[i] = n[0 | Math.random() * e];
            else {
                for (o[8] = o[13] = o[18] = o[23] = "", o[14] = "4", i = 0; i < 36; i++) o[i] || 0 | 16 * Math.random()
            }
            return o.join("")
        }
    }, function (t, e, i) {
        "use strict";
        (function (t) {
            var a, n, o, s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                return typeof t
            } : function (t) {
                return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
            };
            !function (r, l) {
                "object" == s(e) && "object" == s(t) ? t.exports = l(i(15)) : (n = [i(15)], a = l, void 0 !== (o = "function" == typeof a ? a.apply(e, n) : a) && (t.exports = o))
            }(0, function (t) {
                return function (t) {
                    function e(a) {
                        if (i[a]) return i[a].exports;
                        var n = i[a] = {
                            i: a,
                            l: !1,
                            exports: {}
                        };
                        return t[a].call(n.exports, n, n.exports, e), n.l = !0, n.exports
                    }

                    var i = {};
                    return e.m = t, e.c = i, e.i = function (t) {
                        return t
                    }, e.d = function (t, i, a) {
                        e.o(t, i) || Object.defineProperty(t, i, {
                            configurable: !1,
                            enumerable: !0,
                            get: a
                        })
                    }, e.n = function (t) {
                        var i = t && t.__esModule ? function () {
                            return t.default
                        } : function () {
                            return t
                        };
                        return e.d(i, "a", i), i
                    }, e.o = function (t, e) {
                        return Object.prototype.hasOwnProperty.call(t, e)
                    }, e.p = "", e(e.s = 202)
                }([function (t, e) {
                    t.exports = function (t, e, i, a, n) {
                        var o, r = t = t || {},
                            l = s(t.default);
                        "object" !== l && "function" !== l || (o = t, r = t.default);
                        var d = "function" == typeof r ? r.options : r;
                        e && (d.render = e.render, d.staticRenderFns = e.staticRenderFns), a && (d._scopeId = a);
                        var c;
                        if (n ? (c = function (t) {
                            t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, t || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), i && i.call(this, t), t && t._registeredComponents && t._registeredComponents.add(n)
                        }, d._ssrRegister = c) : i && (c = i), c) {
                            var u = d.functional,
                                p = u ? d.render : d.beforeCreate;
                            u ? d.render = function (t, e) {
                                return c.call(e), p(t, e)
                            } : d.beforeCreate = p ? [].concat(p, c) : [c]
                        }
                        return {
                            esModule: o,
                            exports: r,
                            options: d
                        }
                    }
                }, function (e, i) {
                    e.exports = t
                }, function (t, e, i) {
                    var a = i(135),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    function a(t, e) {
                        if (!t || !e) return !1;
                        if (-1 !== e.indexOf(" ")) throw new Error("className should not contain space.");
                        return t.classList ? t.classList.contains(e) : (" " + t.className + " ").indexOf(" " + e + " ") > -1
                    }

                    function n(t, e) {
                        if (t) {
                            for (var i = t.className, n = (e || "").split(" "), o = 0, s = n.length; o < s; o++) {
                                var r = n[o];
                                r && (t.classList ? t.classList.add(r) : a(t, r) || (i += " " + r))
                            }
                            t.classList || (t.className = i)
                        }
                    }

                    function o(t, e) {
                        if (t && e) {
                            for (var i = e.split(" "), n = " " + t.className + " ", o = 0, s = i.length; o < s; o++) {
                                var r = i[o];
                                r && (t.classList ? t.classList.remove(r) : a(t, r) && (n = n.replace(" " + r + " ", " ")))
                            }
                            t.classList || (t.className = d(n))
                        }
                    }

                    var s = i(1),
                        r = i.n(s);
                    i.d(e, "c", function () {
                        return p
                    }), e.a = n, e.b = o;
                    var l = r.a.prototype.$isServer,
                        d = (l || Number(document.documentMode), function (t) {
                            return (t || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, "")
                        }),
                        c = function () {
                            return !l && document.addEventListener ? function (t, e, i) {
                                t && e && i && t.addEventListener(e, i, !1)
                            } : function (t, e, i) {
                                t && e && i && t.attachEvent("on" + e, i)
                            }
                        }(),
                        u = function () {
                            return !l && document.removeEventListener ? function (t, e, i) {
                                t && e && t.removeEventListener(e, i, !1)
                            } : function (t, e, i) {
                                t && e && t.detachEvent("on" + e, i)
                            }
                        }(),
                        p = function (t, e, i) {
                            c(t, e, function a() {
                                i && i.apply(this, arguments), u(t, e, a)
                            })
                        }
                }, function (t, e) {
                }, function (t, e, i) {
                    var a = i(0)(i(40), null, null, null, null);
                    t.exports = a.exports
                }, function (t, e, i) {
                    var a, n = i(1),
                        o = i.n(n),
                        s = i(11),
                        r = i(91),
                        l = 1,
                        d = [],
                        c = function (t) {
                            if (-1 === d.indexOf(t)) {
                                var e = function (t) {
                                    var e = t.__vue__;
                                    if (!e) {
                                        var i = t.previousSibling;
                                        i.__vue__ && (e = i.__vue__)
                                    }
                                    return e
                                };
                                o.a.transition(t, {
                                    afterEnter: function (t) {
                                        var i = e(t);
                                        i && i.doAfterOpen && i.doAfterOpen()
                                    },
                                    afterLeave: function (t) {
                                        var i = e(t);
                                        i && i.doAfterClose && i.doAfterClose()
                                    }
                                })
                            }
                        },
                        u = function () {
                            if (!o.a.prototype.$isServer) {
                                if (void 0 !== a) return a;
                                var t = document.createElement("div");
                                t.style.visibility = "hidden", t.style.width = "100px", t.style.position = "absolute", t.style.top = "-9999px", document.body.appendChild(t);
                                var e = t.offsetWidth;
                                t.style.overflow = "scroll";
                                var i = document.createElement("div");
                                i.style.width = "100%", t.appendChild(i);
                                var n = i.offsetWidth;
                                return t.parentNode.removeChild(t), e - n
                            }
                        },
                        p = function t(e) {
                            return 3 === e.nodeType && (e = e.nextElementSibling || e.nextSibling, t(e)), e
                        };
                    e.a = {
                        props: {
                            value: {
                                type: Boolean,
                                default: !1
                            },
                            transition: {
                                type: String,
                                default: ""
                            },
                            openDelay: {},
                            closeDelay: {},
                            zIndex: {},
                            modal: {
                                type: Boolean,
                                default: !1
                            },
                            modalFade: {
                                type: Boolean,
                                default: !0
                            },
                            modalClass: {},
                            lockScroll: {
                                type: Boolean,
                                default: !0
                            },
                            closeOnPressEscape: {
                                type: Boolean,
                                default: !1
                            },
                            closeOnClickModal: {
                                type: Boolean,
                                default: !1
                            }
                        },
                        created: function () {
                            this.transition && c(this.transition)
                        },
                        beforeMount: function () {
                            this._popupId = "popup-" + l++, r.a.register(this._popupId, this)
                        },
                        beforeDestroy: function () {
                            r.a.deregister(this._popupId), r.a.closeModal(this._popupId), this.modal && null !== this.bodyOverflow && "hidden" !== this.bodyOverflow && (document.body.style.overflow = this.bodyOverflow, document.body.style.paddingRight = this.bodyPaddingRight), this.bodyOverflow = null, this.bodyPaddingRight = null
                        },
                        data: function () {
                            return {
                                opened: !1,
                                bodyOverflow: null,
                                bodyPaddingRight: null,
                                rendered: !1
                            }
                        },
                        watch: {
                            value: function (t) {
                                var e = this;
                                if (t) {
                                    if (this._opening) return;
                                    this.rendered ? this.open() : (this.rendered = !0, o.a.nextTick(function () {
                                        e.open()
                                    }))
                                } else this.close()
                            }
                        },
                        methods: {
                            open: function (t) {
                                var e = this;
                                this.rendered || (this.rendered = !0, this.$emit("input", !0));
                                var a = i.i(s.a)({}, this, t, this.$props);
                                this._closeTimer && (clearTimeout(this._closeTimer), this._closeTimer = null), clearTimeout(this._openTimer);
                                var n = Number(a.openDelay);
                                n > 0 ? this._openTimer = setTimeout(function () {
                                    e._openTimer = null, e.doOpen(a)
                                }, n) : this.doOpen(a)
                            },
                            doOpen: function (t) {
                                if (!this.$isServer && (!this.willOpen || this.willOpen()) && !this.opened) {
                                    this._opening = !0, this.visible = !0, this.$emit("input", !0);
                                    var e = p(this.$el),
                                        i = t.modal,
                                        n = t.zIndex;
                                    if (n && (r.a.zIndex = n), i && (this._closing && (r.a.closeModal(this._popupId), this._closing = !1), r.a.openModal(this._popupId, r.a.nextZIndex(), e, t.modalClass, t.modalFade), t.lockScroll)) {
                                        this.bodyOverflow || (this.bodyPaddingRight = document.body.style.paddingRight, this.bodyOverflow = document.body.style.overflow), a = u();
                                        var o = document.documentElement.clientHeight < document.body.scrollHeight;
                                        a > 0 && o && (document.body.style.paddingRight = a + "px"), document.body.style.overflow = "hidden"
                                    }
                                    "static" === getComputedStyle(e).position && (e.style.position = "absolute"), e.style.zIndex = r.a.nextZIndex(), this.opened = !0, this.onOpen && this.onOpen(), this.transition || this.doAfterOpen()
                                }
                            },
                            doAfterOpen: function () {
                                this._opening = !1
                            },
                            close: function () {
                                var t = this;
                                if (!this.willClose || this.willClose()) {
                                    null !== this._openTimer && (clearTimeout(this._openTimer), this._openTimer = null), clearTimeout(this._closeTimer);
                                    var e = Number(this.closeDelay);
                                    e > 0 ? this._closeTimer = setTimeout(function () {
                                        t._closeTimer = null, t.doClose()
                                    }, e) : this.doClose()
                                }
                            },
                            doClose: function () {
                                var t = this;
                                this.visible = !1, this.$emit("input", !1), this._closing = !0, this.onClose && this.onClose(), this.lockScroll && setTimeout(function () {
                                    t.modal && "hidden" !== t.bodyOverflow && (document.body.style.overflow = t.bodyOverflow, document.body.style.paddingRight = t.bodyPaddingRight), t.bodyOverflow = null, t.bodyPaddingRight = null
                                }, 200), this.opened = !1, this.transition || this.doAfterClose()
                            },
                            doAfterClose: function () {
                                r.a.closeModal(this._popupId), this._closing = !1
                            }
                        }
                    }
                }, function (t, e, i) {
                    var a = i(148),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(149),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(154),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = "@@clickoutsideContext";
                    e.a = {
                        bind: function (t, e, i) {
                            var n = function (e) {
                                i.context && !t.contains(e.target) && i.context[t[a].methodName]()
                            };
                            t[a] = {
                                documentHandler: n,
                                methodName: e.expression,
                                arg: e.arg || "click"
                            }, document.addEventListener(t[a].arg, n)
                        },
                        update: function (t, e) {
                            t[a].methodName = e.expression
                        },
                        unbind: function (t) {
                            document.removeEventListener(t[a].arg, t[a].documentHandler)
                        },
                        install: function (t) {
                            t.directive("clickoutside", {
                                bind: this.bind,
                                unbind: this.unbind
                            })
                        }
                    }
                }, function (t, e, i) {
                    e.a = function (t) {
                        for (var e = arguments, i = 1, a = arguments.length; i < a; i++) {
                            var n = e[i] || {};
                            for (var o in n)
                                if (n.hasOwnProperty(o)) {
                                    var s = n[o];
                                    void 0 !== s && (t[o] = s)
                                }
                        }
                        return t
                    }
                }, function (t, e) {
                }, function (t, e, i) {
                    function a(t) {
                        i(105)
                    }

                    var n = i(0)(i(42), i(178), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(60),
                        n = i(55),
                        o = i(2),
                        s = i(56),
                        r = i(59),
                        l = i(54),
                        d = i(83),
                        c = i(9),
                        u = i(86),
                        p = i(84),
                        m = i(85),
                        f = i(72),
                        h = i(87),
                        v = i(80),
                        g = i(57),
                        y = i(77),
                        b = i(69),
                        C = i(53),
                        w = i(8),
                        D = i(82),
                        S = i(81),
                        $ = i(78),
                        T = i(7),
                        _ = i(76),
                        k = i(88),
                        x = i(63),
                        I = i(70),
                        E = i(64),
                        A = i(67),
                        R = i(58),
                        P = i(61),
                        M = i(62),
                        B = i(73),
                        O = i(92),
                        N = (i.n(O), i(11)),
                        F = function t(e, O) {
                            void 0 === O && (O = {}), t.installed || (e.component(a.a.name, a.a), e.component(n.a.name, n.a), e.component(o.a.name, o.a), e.component(s.a.name, s.a), e.component(r.a.name, r.a), e.component(l.a.name, l.a), e.component(d.a.name, d.a), e.component(c.a.name, c.a), e.component(u.a.name, u.a), e.component(p.a.name, p.a), e.component(m.a.name, m.a), e.component(f.a.name, f.a), e.component(h.a.name, h.a), e.component(v.a.name, v.a), e.component(g.a.name, g.a), e.component(y.a.name, y.a), e.component(b.a.name, b.a), e.component(C.a.name, C.a), e.component(w.a.name, w.a), e.component(D.a.name, D.a), e.component(S.a.name, S.a), e.component($.a.name, $.a), e.component(T.a.name, T.a), e.component(_.a.name, _.a), e.component(R.a.name, R.a), e.component(P.a.name, P.a), e.component(M.a.name, M.a), e.component(B.a.name, B.a), e.use(E.a), e.use(A.a, i.i(N.a)({
                                loading: i(129),
                                attempt: 3
                            }, O.lazyload)), e.$messagebox = e.prototype.$messagebox = I.a, e.$toast = e.prototype.$toast = k.a, e.$indicator = e.prototype.$indicator = x.a)
                        };
                    "undefined" != typeof window && window.Vue && F(window.Vue), t.exports = {
                        install: F,
                        version: "2.2.7",
                        Header: a.a,
                        Button: n.a,
                        Cell: o.a,
                        CellSwipe: s.a,
                        Field: r.a,
                        Badge: l.a,
                        Switch: d.a,
                        Spinner: c.a,
                        TabItem: u.a,
                        TabContainerItem: p.a,
                        TabContainer: m.a,
                        Navbar: f.a,
                        Tabbar: h.a,
                        Search: v.a,
                        Checklist: g.a,
                        Radio: y.a,
                        Loadmore: b.a,
                        Actionsheet: C.a,
                        Popup: w.a,
                        Swipe: D.a,
                        SwipeItem: S.a,
                        Range: $.a,
                        Picker: T.a,
                        Progress: _.a,
                        Toast: k.a,
                        Indicator: x.a,
                        MessageBox: I.a,
                        InfiniteScroll: E.a,
                        Lazyload: A.a,
                        DatetimePicker: R.a,
                        IndexList: P.a,
                        IndexSection: M.a,
                        PaletteButton: B.a
                    }
                }, function (t, e, i) {
                    t.exports = function (t, e, i) {
                        if ("function" == typeof Array.prototype.findIndex) return t.findIndex(e, i);
                        if ("function" != typeof e) throw new TypeError("predicate must be a function");
                        var a = Object(t),
                            n = a.length;
                        if (0 === n) return -1;
                        for (var o = 0; o < n; o++)
                            if (e.call(i, a[o], o, a)) return o;
                        return -1
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(6),
                        n = i(12);
                    i.n(n), e.default = {
                        name: "mt-actionsheet",
                        mixins: [a.a],
                        props: {
                            modal: {
                                default: !0
                            },
                            modalFade: {
                                default: !1
                            },
                            lockScroll: {
                                default: !1
                            },
                            closeOnClickModal: {
                                default: !0
                            },
                            cancelText: {
                                type: String,
                                default: "取消"
                            },
                            actions: {
                                type: Array,
                                default: function () {
                                    return []
                                }
                            }
                        },
                        data: function () {
                            return {
                                currentValue: !1
                            }
                        },
                        watch: {
                            currentValue: function (t) {
                                this.$emit("input", t)
                            },
                            value: function (t) {
                                this.currentValue = t
                            }
                        },
                        methods: {
                            itemClick: function (t, e) {
                                t.method && "function" == typeof t.method && t.method(t, e), this.currentValue = !1
                            }
                        },
                        mounted: function () {
                            this.value && (this.rendered = !0, this.currentValue = !0, this.open())
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-badge",
                        props: {
                            color: String,
                            type: {
                                type: String,
                                default: "primary"
                            },
                            size: {
                                type: String,
                                default: "normal"
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-button",
                        methods: {
                            handleClick: function (t) {
                                this.$emit("click", t)
                            }
                        },
                        props: {
                            icon: String,
                            disabled: Boolean,
                            nativeType: String,
                            plain: Boolean,
                            type: {
                                type: String,
                                default: "default",
                                validator: function (t) {
                                    return ["default", "danger", "primary"].indexOf(t) > -1
                                }
                            },
                            size: {
                                type: String,
                                default: "normal",
                                validator: function (t) {
                                    return ["small", "normal", "large"].indexOf(t) > -1
                                }
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(3),
                        n = i(2),
                        o = i(10);
                    e.default = {
                        name: "mt-cell-swipe",
                        components: {
                            XCell: n.a
                        },
                        directives: {
                            Clickoutside: o.a
                        },
                        props: {
                            to: String,
                            left: Array,
                            right: Array,
                            icon: String,
                            title: String,
                            label: String,
                            isLink: Boolean,
                            value: {}
                        },
                        data: function () {
                            return {
                                start: {
                                    x: 0,
                                    y: 0
                                }
                            }
                        },
                        mounted: function () {
                            this.wrap = this.$refs.cell.$el.querySelector(".mint-cell-wrapper"), this.leftElm = this.$refs.left, this.rightElm = this.$refs.right, this.leftWrapElm = this.leftElm.parentNode, this.rightWrapElm = this.rightElm.parentNode, this.leftWidth = this.leftElm.getBoundingClientRect().width, this.rightWidth = this.rightElm.getBoundingClientRect().width, this.leftDefaultTransform = this.translate3d(-this.leftWidth - 1), this.rightDefaultTransform = this.translate3d(this.rightWidth), this.rightWrapElm.style.webkitTransform = this.rightDefaultTransform, this.leftWrapElm.style.webkitTransform = this.leftDefaultTransform
                        },
                        methods: {
                            resetSwipeStatus: function () {
                                this.swiping = !1, this.opened = !0, this.offsetLeft = 0
                            },
                            translate3d: function (t) {
                                return "translate3d(" + t + "px, 0, 0)"
                            },
                            swipeMove: function (t) {
                                void 0 === t && (t = 0), this.wrap.style.webkitTransform = this.translate3d(t), this.rightWrapElm.style.webkitTransform = this.translate3d(this.rightWidth + t), this.leftWrapElm.style.webkitTransform = this.translate3d(-this.leftWidth + t), t && (this.swiping = !0)
                            },
                            swipeLeaveTransition: function (t) {
                                var e = this;
                                setTimeout(function () {
                                    return e.swipeLeave = !0, t > 0 && -e.offsetLeft > .4 * e.rightWidth ? (e.swipeMove(-e.rightWidth), void e.resetSwipeStatus()) : t < 0 && e.offsetLeft > .4 * e.leftWidth ? (e.swipeMove(e.leftWidth), void e.resetSwipeStatus()) : (e.swipeMove(0), void i.i(a.c)(e.wrap, "webkitTransitionEnd", function (t) {
                                        e.wrap.style.webkitTransform = "", e.rightWrapElm.style.webkitTransform = e.rightDefaultTransform, e.leftWrapElm.style.webkitTransform = e.leftDefaultTransform, e.swipeLeave = !1, e.swiping = !1
                                    }))
                                }, 0)
                            },
                            startDrag: function (t) {
                                t = t.changedTouches ? t.changedTouches[0] : t, this.dragging = !0, this.start.x = t.pageX, this.start.y = t.pageY
                            },
                            onDrag: function (t) {
                                if (this.opened) return !this.swiping && this.swipeMove(0), void (this.opened = !1);
                                if (this.dragging) {
                                    var e = t.changedTouches ? t.changedTouches[0] : t,
                                        i = e.pageY - this.start.y,
                                        a = this.offsetLeft = e.pageX - this.start.x;
                                    if (!(a < 0 && -a > this.rightWidth || a > 0 && a > this.leftWidth || a > 0 && !this.leftWidth || a < 0 && !this.rightWidth)) {
                                        var n = Math.abs(i),
                                            o = Math.abs(a);
                                        !(o < 5 || o >= 5 && n >= 1.73 * o) && (t.preventDefault(), this.swipeMove(a))
                                    }
                                }
                            },
                            endDrag: function () {
                                this.swiping && this.swipeLeaveTransition(this.offsetLeft > 0 ? -1 : 1)
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-cell",
                        props: {
                            to: [String, Object],
                            icon: String,
                            title: String,
                            label: String,
                            isLink: Boolean,
                            value: {}
                        },
                        computed: {
                            href: function () {
                                var t = this;
                                if (this.to && !this.added && this.$router) {
                                    var e = this.$router.match(this.to);
                                    return e.matched.length ? (this.$nextTick(function () {
                                        t.added = !0, t.$el.addEventListener("click", t.handleClick)
                                    }), e.path) : this.to
                                }
                                return this.to
                            }
                        },
                        methods: {
                            handleClick: function (t) {
                                t.preventDefault(), this.$router.push(this.href)
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(2);
                    e.default = {
                        name: "mt-checklist",
                        props: {
                            max: Number,
                            title: String,
                            align: String,
                            options: {
                                type: Array,
                                required: !0
                            },
                            value: Array
                        },
                        components: {
                            XCell: a.a
                        },
                        data: function () {
                            return {
                                currentValue: this.value
                            }
                        },
                        computed: {
                            limit: function () {
                                return this.max < this.currentValue.length
                            }
                        },
                        watch: {
                            value: function (t) {
                                this.currentValue = t
                            },
                            currentValue: function (t) {
                                this.limit && t.pop(), this.$emit("input", t)
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(7),
                        n = i(8),
                        o = {
                            Y: "year",
                            M: "month",
                            D: "date",
                            H: "hour",
                            m: "minute"
                        };
                    e.default = {
                        name: "mt-datetime-picker",
                        props: {
                            cancelText: {
                                type: String,
                                default: "取消"
                            },
                            confirmText: {
                                type: String,
                                default: "确定"
                            },
                            type: {
                                type: String,
                                default: "datetime"
                            },
                            startDate: {
                                type: Date,
                                default: function () {
                                    return new Date((new Date).getFullYear() - 10, 0, 1)
                                }
                            },
                            endDate: {
                                type: Date,
                                default: function () {
                                    return new Date((new Date).getFullYear() + 10, 11, 31)
                                }
                            },
                            startHour: {
                                type: Number,
                                default: 0
                            },
                            endHour: {
                                type: Number,
                                default: 23
                            },
                            yearFormat: {
                                type: String,
                                default: "{value}"
                            },
                            monthFormat: {
                                type: String,
                                default: "{value}"
                            },
                            dateFormat: {
                                type: String,
                                default: "{value}"
                            },
                            hourFormat: {
                                type: String,
                                default: "{value}"
                            },
                            minuteFormat: {
                                type: String,
                                default: "{value}"
                            },
                            visibleItemCount: {
                                type: Number,
                                default: 7
                            },
                            value: null
                        },
                        data: function () {
                            return {
                                visible: !1,
                                startYear: null,
                                endYear: null,
                                startMonth: 1,
                                endMonth: 12,
                                startDay: 1,
                                endDay: 31,
                                currentValue: null,
                                selfTriggered: !1,
                                dateSlots: [],
                                shortMonthDates: [],
                                longMonthDates: [],
                                febDates: [],
                                leapFebDates: []
                            }
                        },
                        components: {
                            "mt-picker": a.a,
                            "mt-popup": n.a
                        },
                        methods: {
                            open: function () {
                                this.visible = !0
                            },
                            close: function () {
                                this.visible = !1
                            },
                            isLeapYear: function (t) {
                                return t % 400 == 0 || t % 100 != 0 && t % 4 == 0
                            },
                            isShortMonth: function (t) {
                                return [4, 6, 9, 11].indexOf(t) > -1
                            },
                            getMonthEndDay: function (t, e) {
                                return this.isShortMonth(e) ? 30 : 2 === e ? this.isLeapYear(t) ? 29 : 28 : 31
                            },
                            getTrueValue: function (t) {
                                if (t) {
                                    for (; isNaN(parseInt(t, 10));) t = t.slice(1);
                                    return parseInt(t, 10)
                                }
                            },
                            getValue: function (t) {
                                var e, i = this;
                                if ("time" === this.type) e = t.map(function (t) {
                                    return ("0" + i.getTrueValue(t)).slice(-2)
                                }).join(":");
                                else {
                                    var a = this.getTrueValue(t[0]),
                                        n = this.getTrueValue(t[1]),
                                        o = this.getTrueValue(t[2]);
                                    o > this.getMonthEndDay(a, n) && (this.selfTriggered = !0, o = 1);
                                    var s = this.typeStr.indexOf("H") > -1 ? this.getTrueValue(t[this.typeStr.indexOf("H")]) : 0,
                                        r = this.typeStr.indexOf("m") > -1 ? this.getTrueValue(t[this.typeStr.indexOf("m")]) : 0;
                                    e = new Date(a, n - 1, o, s, r)
                                }
                                return e
                            },
                            onChange: function (t) {
                                var e = t.$children.filter(function (t) {
                                    return void 0 !== t.currentValue
                                }).map(function (t) {
                                    return t.currentValue
                                });
                                return this.selfTriggered ? void (this.selfTriggered = !1) : (this.currentValue = this.getValue(e), void this.handleValueChange())
                            },
                            fillValues: function (t, e, i) {
                                for (var a = this, n = [], s = e; s <= i; s++) s < 10 ? n.push(a[o[t] + "Format"].replace("{value}", ("0" + s).slice(-2))) : n.push(a[o[t] + "Format"].replace("{value}", s));
                                return n
                            },
                            pushSlots: function (t, e, i, a) {
                                t.push({
                                    flex: 1,
                                    values: this.fillValues(e, i, a)
                                })
                            },
                            generateSlots: function () {
                                var t = this,
                                    e = [],
                                    i = {
                                        Y: this.rims.year,
                                        M: this.rims.month,
                                        D: this.rims.date,
                                        H: this.rims.hour,
                                        m: this.rims.min
                                    };
                                this.typeStr.split("").forEach(function (a) {
                                    i[a] && t.pushSlots.apply(null, [e, a].concat(i[a]))
                                }), "Hm" === this.typeStr && e.splice(1, 0, {
                                    divider: !0,
                                    content: ":"
                                }), this.dateSlots = e, this.handleExceededValue()
                            },
                            handleExceededValue: function () {
                                var t = this,
                                    e = [];
                                if ("time" === this.type) {
                                    var i = this.currentValue.split(":");
                                    e = [this.hourFormat.replace("{value}", i[0]), this.minuteFormat.replace("{value}", i[1])]
                                } else e = [this.yearFormat.replace("{value}", this.getYear(this.currentValue)), this.monthFormat.replace("{value}", ("0" + this.getMonth(this.currentValue)).slice(-2)), this.dateFormat.replace("{value}", ("0" + this.getDate(this.currentValue)).slice(-2))], "datetime" === this.type && e.push(this.hourFormat.replace("{value}", ("0" + this.getHour(this.currentValue)).slice(-2)), this.minuteFormat.replace("{value}", ("0" + this.getMinute(this.currentValue)).slice(-2)));
                                this.dateSlots.filter(function (t) {
                                    return void 0 !== t.values
                                }).map(function (t) {
                                    return t.values
                                }).forEach(function (t, i) {
                                    -1 === t.indexOf(e[i]) && (e[i] = t[0])
                                }), this.$nextTick(function () {
                                    t.setSlotsByValues(e)
                                })
                            },
                            setSlotsByValues: function (t) {
                                var e = this.$refs.picker.setSlotValue;
                                "time" === this.type && (e(0, t[0]), e(1, t[1])), "time" !== this.type && (e(0, t[0]), e(1, t[1]), e(2, t[2]), "datetime" === this.type && (e(3, t[3]), e(4, t[4]))), [].forEach.call(this.$refs.picker.$children, function (t) {
                                    return t.doOnValueChange()
                                })
                            },
                            rimDetect: function (t, e) {
                                var i = "start" === e ? 0 : 1,
                                    a = "start" === e ? this.startDate : this.endDate;
                                this.getYear(this.currentValue) === a.getFullYear() && (t.month[i] = a.getMonth() + 1, this.getMonth(this.currentValue) === a.getMonth() + 1 && (t.date[i] = a.getDate(), this.getDate(this.currentValue) === a.getDate() && (t.hour[i] = a.getHours(), this.getHour(this.currentValue) === a.getHours() && (t.min[i] = a.getMinutes()))))
                            },
                            isDateString: function (t) {
                                return /\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}/.test(t)
                            },
                            getYear: function (t) {
                                return this.isDateString(t) ? t.split(" ")[0].split(/-|\/|\./)[0] : t.getFullYear()
                            },
                            getMonth: function (t) {
                                return this.isDateString(t) ? t.split(" ")[0].split(/-|\/|\./)[1] : t.getMonth() + 1
                            },
                            getDate: function (t) {
                                return this.isDateString(t) ? t.split(" ")[0].split(/-|\/|\./)[2] : t.getDate()
                            },
                            getHour: function (t) {
                                if (this.isDateString(t)) {
                                    return (t.split(" ")[1] || "00:00:00").split(":")[0]
                                }
                                return t.getHours()
                            },
                            getMinute: function (t) {
                                if (this.isDateString(t)) {
                                    return (t.split(" ")[1] || "00:00:00").split(":")[1]
                                }
                                return t.getMinutes()
                            },
                            confirm: function () {
                                this.visible = !1, this.$emit("confirm", this.currentValue)
                            },
                            handleValueChange: function () {
                                this.$emit("input", this.currentValue)
                            }
                        },
                        computed: {
                            rims: function () {
                                if (!this.currentValue) return {
                                    year: [],
                                    month: [],
                                    date: [],
                                    hour: [],
                                    min: []
                                };
                                var t;
                                return "time" === this.type ? t = {
                                    hour: [this.startHour, this.endHour],
                                    min: [0, 59]
                                } : (t = {
                                    year: [this.startDate.getFullYear(), this.endDate.getFullYear()],
                                    month: [1, 12],
                                    date: [1, this.getMonthEndDay(this.getYear(this.currentValue), this.getMonth(this.currentValue))],
                                    hour: [0, 23],
                                    min: [0, 59]
                                }, this.rimDetect(t, "start"), this.rimDetect(t, "end"), t)
                            },
                            typeStr: function () {
                                return "time" === this.type ? "Hm" : "date" === this.type ? "YMD" : "YMDHm"
                            }
                        },
                        watch: {
                            value: function (t) {
                                this.currentValue = t
                            },
                            rims: function () {
                                this.generateSlots()
                            }
                        },
                        mounted: function () {
                            this.currentValue = this.value, this.value || (this.type.indexOf("date") > -1 ? this.currentValue = this.startDate : this.currentValue = ("0" + this.startHour).slice(-2) + ":00"), this.generateSlots()
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(2),
                        n = i(10);
                    e.default = {
                        name: "mt-field",
                        data: function () {
                            return {
                                active: !1,
                                currentValue: this.value
                            }
                        },
                        directives: {
                            Clickoutside: n.a
                        },
                        props: {
                            type: {
                                type: String,
                                default: "text"
                            },
                            rows: String,
                            label: String,
                            placeholder: String,
                            readonly: Boolean,
                            disabled: Boolean,
                            disableClear: Boolean,
                            state: {
                                type: String,
                                default: "default"
                            },
                            value: {},
                            attr: Object
                        },
                        components: {
                            XCell: a.a
                        },
                        methods: {
                            doCloseActive: function () {
                                this.active = !1
                            },
                            handleInput: function (t) {
                                this.currentValue = t.target.value
                            },
                            handleClear: function () {
                                this.disabled || this.readonly || (this.currentValue = "")
                            }
                        },
                        watch: {
                            value: function (t) {
                                this.currentValue = t
                            },
                            currentValue: function (t) {
                                this.$emit("input", t)
                            },
                            attr: {
                                immediate: !0,
                                handler: function (t) {
                                    var e = this;
                                    this.$nextTick(function () {
                                        [e.$refs.input, e.$refs.textarea].forEach(function (e) {
                                            e && t && Object.keys(t).map(function (i) {
                                                return e.setAttribute(i, t[i])
                                            })
                                        })
                                    })
                                }
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-header",
                        props: {
                            fixed: Boolean,
                            title: String
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-index-list",
                        props: {
                            height: Number,
                            showIndicator: {
                                type: Boolean,
                                default: !0
                            }
                        },
                        data: function () {
                            return {
                                sections: [],
                                navWidth: 0,
                                indicatorTime: null,
                                moving: !1,
                                firstSection: null,
                                currentIndicator: "",
                                currentHeight: this.height,
                                navOffsetX: 0
                            }
                        },
                        watch: {
                            sections: function () {
                                this.init()
                            }
                        },
                        methods: {
                            init: function () {
                                var t = this;
                                this.$nextTick(function () {
                                    t.navWidth = t.$refs.nav.clientWidth
                                });
                                var e = this.$refs.content.getElementsByTagName("li");
                                e.length > 0 && (this.firstSection = e[0])
                            },
                            handleTouchStart: function (t) {
                                "LI" === t.target.tagName && (this.navOffsetX = t.changedTouches[0].clientX, this.scrollList(t.changedTouches[0].clientY), this.indicatorTime && clearTimeout(this.indicatorTime), this.moving = !0, window.addEventListener("touchmove", this.handleTouchMove), window.addEventListener("touchend", this.handleTouchEnd))
                            },
                            handleTouchMove: function (t) {
                                t.preventDefault(), this.scrollList(t.changedTouches[0].clientY)
                            },
                            handleTouchEnd: function () {
                                var t = this;
                                this.indicatorTime = setTimeout(function () {
                                    t.moving = !1, t.currentIndicator = ""
                                }, 500), window.removeEventListener("touchmove", this.handleTouchMove), window.removeEventListener("touchend", this.handleTouchEnd)
                            },
                            scrollList: function (t) {
                                var e = document.elementFromPoint(this.navOffsetX, t);
                                if (e && e.classList.contains("mint-indexlist-navitem")) {
                                    this.currentIndicator = e.innerText;
                                    var i, a = this.sections.filter(function (t) {
                                        return t.index === e.innerText
                                    });
                                    a.length > 0 && (i = a[0].$el, this.$refs.content.scrollTop = i.getBoundingClientRect().top - this.firstSection.getBoundingClientRect().top)
                                }
                            }
                        },
                        mounted: function () {
                            this.currentHeight || (this.currentHeight = document.documentElement.clientHeight - this.$refs.content.getBoundingClientRect().top), this.init()
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-index-section",
                        props: {
                            index: {
                                type: String,
                                required: !0
                            }
                        },
                        mounted: function () {
                            this.$parent.sections.push(this)
                        },
                        beforeDestroy: function () {
                            var t = this.$parent.sections.indexOf(this);
                            t > -1 && this.$parent.sections.splice(t, 1)
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(9);
                    e.default = {
                        data: function () {
                            return {
                                visible: !1
                            }
                        },
                        components: {
                            Spinner: a.a
                        },
                        computed: {
                            convertedSpinnerType: function () {
                                switch (this.spinnerType) {
                                    case "double-bounce":
                                        return 1;
                                    case "triple-bounce":
                                        return 2;
                                    case "fading-circle":
                                        return 3;
                                    default:
                                        return 0
                                }
                            }
                        },
                        props: {
                            text: String,
                            spinnerType: {
                                type: String,
                                default: "snake"
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(13),
                        n = i.n(a);
                    e.default = {
                        name: "mt-loadmore",
                        components: {
                            spinner: n.a
                        },
                        props: {
                            maxDistance: {
                                type: Number,
                                default: 0
                            },
                            autoFill: {
                                type: Boolean,
                                default: !0
                            },
                            distanceIndex: {
                                type: Number,
                                default: 2
                            },
                            topPullText: {
                                type: String,
                                default: "下拉刷新"
                            },
                            topDropText: {
                                type: String,
                                default: "释放更新"
                            },
                            topLoadingText: {
                                type: String,
                                default: "加载中..."
                            },
                            topDistance: {
                                type: Number,
                                default: 70
                            },
                            topMethod: {
                                type: Function
                            },
                            bottomPullText: {
                                type: String,
                                default: "上拉刷新"
                            },
                            bottomDropText: {
                                type: String,
                                default: "释放更新"
                            },
                            bottomLoadingText: {
                                type: String,
                                default: "加载中..."
                            },
                            bottomDistance: {
                                type: Number,
                                default: 70
                            },
                            bottomMethod: {
                                type: Function
                            },
                            bottomAllLoaded: {
                                type: Boolean,
                                default: !1
                            }
                        },
                        data: function () {
                            return {
                                translate: 0,
                                scrollEventTarget: null,
                                containerFilled: !1,
                                topText: "",
                                topDropped: !1,
                                bottomText: "",
                                bottomDropped: !1,
                                bottomReached: !1,
                                direction: "",
                                startY: 0,
                                startScrollTop: 0,
                                currentY: 0,
                                topStatus: "",
                                bottomStatus: ""
                            }
                        },
                        watch: {
                            topStatus: function (t) {
                                switch (this.$emit("top-status-change", t), t) {
                                    case "pull":
                                        this.topText = this.topPullText;
                                        break;
                                    case "drop":
                                        this.topText = this.topDropText;
                                        break;
                                    case "loading":
                                        this.topText = this.topLoadingText
                                }
                            },
                            bottomStatus: function (t) {
                                switch (this.$emit("bottom-status-change", t), t) {
                                    case "pull":
                                        this.bottomText = this.bottomPullText;
                                        break;
                                    case "drop":
                                        this.bottomText = this.bottomDropText;
                                        break;
                                    case "loading":
                                        this.bottomText = this.bottomLoadingText
                                }
                            }
                        },
                        methods: {
                            onTopLoaded: function () {
                                var t = this;
                                this.translate = 0, setTimeout(function () {
                                    t.topStatus = "pull"
                                }, 200)
                            },
                            onBottomLoaded: function () {
                                var t = this;
                                this.bottomStatus = "pull", this.bottomDropped = !1, this.$nextTick(function () {
                                    t.scrollEventTarget === window ? document.body.scrollTop += 50 : t.scrollEventTarget.scrollTop += 50, t.translate = 0
                                }), this.bottomAllLoaded || this.containerFilled || this.fillContainer()
                            },
                            getScrollEventTarget: function (t) {
                                for (var e = t; e && "HTML" !== e.tagName && "BODY" !== e.tagName && 1 === e.nodeType;) {
                                    var i = document.defaultView.getComputedStyle(e).overflowY;
                                    if ("scroll" === i || "auto" === i) return e;
                                    e = e.parentNode
                                }
                                return window
                            },
                            getScrollTop: function (t) {
                                return t === window ? Math.max(window.pageYOffset || 0, document.documentElement.scrollTop) : t.scrollTop
                            },
                            bindTouchEvents: function () {
                                this.$el.addEventListener("touchstart", this.handleTouchStart), this.$el.addEventListener("touchmove", this.handleTouchMove), this.$el.addEventListener("touchend", this.handleTouchEnd)
                            },
                            init: function () {
                                this.topStatus = "pull", this.bottomStatus = "pull", this.topText = this.topPullText, this.scrollEventTarget = this.getScrollEventTarget(this.$el), "function" == typeof this.bottomMethod && (this.fillContainer(), this.bindTouchEvents()), "function" == typeof this.topMethod && this.bindTouchEvents()
                            },
                            fillContainer: function () {
                                var t = this;
                                this.autoFill && this.$nextTick(function () {
                                    t.scrollEventTarget === window ? t.containerFilled = t.$el.getBoundingClientRect().bottom >= document.documentElement.getBoundingClientRect().bottom : t.containerFilled = t.$el.getBoundingClientRect().bottom >= t.scrollEventTarget.getBoundingClientRect().bottom, t.containerFilled || (t.bottomStatus = "loading", t.bottomMethod())
                                })
                            },
                            checkBottomReached: function () {
                                return this.scrollEventTarget === window ? document.body.scrollTop + document.documentElement.clientHeight >= document.body.scrollHeight : this.$el.getBoundingClientRect().bottom <= this.scrollEventTarget.getBoundingClientRect().bottom + 1
                            },
                            handleTouchStart: function (t) {
                                this.startY = t.touches[0].clientY, this.startScrollTop = this.getScrollTop(this.scrollEventTarget), this.bottomReached = !1, "loading" !== this.topStatus && (this.topStatus = "pull", this.topDropped = !1), "loading" !== this.bottomStatus && (this.bottomStatus = "pull", this.bottomDropped = !1)
                            },
                            handleTouchMove: function (t) {
                                if (!(this.startY < this.$el.getBoundingClientRect().top && this.startY > this.$el.getBoundingClientRect().bottom)) {
                                    this.currentY = t.touches[0].clientY;
                                    var e = (this.currentY - this.startY) / this.distanceIndex;
                                    this.direction = e > 0 ? "down" : "up", "function" == typeof this.topMethod && "down" === this.direction && 0 === this.getScrollTop(this.scrollEventTarget) && "loading" !== this.topStatus && (t.preventDefault(), t.stopPropagation(), this.maxDistance > 0 ? this.translate = e <= this.maxDistance ? e - this.startScrollTop : this.translate : this.translate = e - this.startScrollTop, this.translate < 0 && (this.translate = 0), this.topStatus = this.translate >= this.topDistance ? "drop" : "pull"), "up" === this.direction && (this.bottomReached = this.bottomReached || this.checkBottomReached()), "function" == typeof this.bottomMethod && "up" === this.direction && this.bottomReached && "loading" !== this.bottomStatus && !this.bottomAllLoaded && (t.preventDefault(), t.stopPropagation(), this.maxDistance > 0 ? this.translate = Math.abs(e) <= this.maxDistance ? this.getScrollTop(this.scrollEventTarget) - this.startScrollTop + e : this.translate : this.translate = this.getScrollTop(this.scrollEventTarget) - this.startScrollTop + e, this.translate > 0 && (this.translate = 0), this.bottomStatus = -this.translate >= this.bottomDistance ? "drop" : "pull"), this.$emit("translate-change", this.translate)
                                }
                            },
                            handleTouchEnd: function () {
                                "down" === this.direction && 0 === this.getScrollTop(this.scrollEventTarget) && this.translate > 0 && (this.topDropped = !0, "drop" === this.topStatus ? (this.translate = "50", this.topStatus = "loading", this.topMethod()) : (this.translate = "0", this.topStatus = "pull")), "up" === this.direction && this.bottomReached && this.translate < 0 && (this.bottomDropped = !0, this.bottomReached = !1, "drop" === this.bottomStatus ? (this.translate = "-50", this.bottomStatus = "loading", this.bottomMethod()) : (this.translate = "0", this.bottomStatus = "pull")), this.$emit("translate-change", this.translate), this.direction = ""
                            }
                        },
                        mounted: function () {
                            this.init()
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(6);
                    e.default = {
                        mixins: [a.a],
                        props: {
                            modal: {
                                default: !0
                            },
                            showClose: {
                                type: Boolean,
                                default: !0
                            },
                            lockScroll: {
                                type: Boolean,
                                default: !1
                            },
                            closeOnClickModal: {
                                default: !0
                            },
                            closeOnPressEscape: {
                                default: !0
                            },
                            inputType: {
                                type: String,
                                default: "text"
                            }
                        },
                        computed: {
                            confirmButtonClasses: function () {
                                var t = "mint-msgbox-btn mint-msgbox-confirm " + this.confirmButtonClass;
                                return this.confirmButtonHighlight && (t += " mint-msgbox-confirm-highlight"), t
                            },
                            cancelButtonClasses: function () {
                                var t = "mint-msgbox-btn mint-msgbox-cancel " + this.cancelButtonClass;
                                return this.cancelButtonHighlight && (t += " mint-msgbox-cancel-highlight"), t
                            }
                        },
                        methods: {
                            doClose: function () {
                                var t = this;
                                this.value = !1, this._closing = !0, this.onClose && this.onClose(), setTimeout(function () {
                                    t.modal && "hidden" !== t.bodyOverflow && (document.body.style.overflow = t.bodyOverflow, document.body.style.paddingRight = t.bodyPaddingRight), t.bodyOverflow = null, t.bodyPaddingRight = null
                                }, 200), this.opened = !1, this.transition || this.doAfterClose()
                            },
                            handleAction: function (t) {
                                if ("prompt" !== this.$type || "confirm" !== t || this.validate()) {
                                    var e = this.callback;
                                    this.value = !1, e(t)
                                }
                            },
                            validate: function () {
                                if ("prompt" === this.$type) {
                                    var t = this.inputPattern;
                                    if (t && !t.test(this.inputValue || "")) return this.editorErrorMessage = this.inputErrorMessage || "输入的数据不合法!", this.$refs.input.classList.add("invalid"), !1;
                                    var e = this.inputValidator;
                                    if ("function" == typeof e) {
                                        var i = e(this.inputValue);
                                        if (!1 === i) return this.editorErrorMessage = this.inputErrorMessage || "输入的数据不合法!", this.$refs.input.classList.add("invalid"), !1;
                                        if ("string" == typeof i) return this.editorErrorMessage = i, !1
                                    }
                                }
                                return this.editorErrorMessage = "", this.$refs.input.classList.remove("invalid"), !0
                            },
                            handleInputType: function (t) {
                                "range" !== t && this.$refs.input && (this.$refs.input.type = t)
                            }
                        },
                        watch: {
                            inputValue: function () {
                                "prompt" === this.$type && this.validate()
                            },
                            value: function (t) {
                                var e = this;
                                this.handleInputType(this.inputType), t && "prompt" === this.$type && setTimeout(function () {
                                    e.$refs.input && e.$refs.input.focus()
                                }, 500)
                            },
                            inputType: function (t) {
                                this.handleInputType(t)
                            }
                        },
                        data: function () {
                            return {
                                title: "",
                                message: "",
                                type: "",
                                showInput: !1,
                                inputValue: null,
                                inputPlaceholder: "",
                                inputPattern: null,
                                inputValidator: null,
                                inputErrorMessage: "",
                                showConfirmButton: !0,
                                showCancelButton: !1,
                                confirmButtonText: "确定",
                                cancelButtonText: "取消",
                                confirmButtonClass: "",
                                confirmButtonDisabled: !1,
                                cancelButtonClass: "",
                                editorErrorMessage: null,
                                callback: null
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-navbar",
                        props: {
                            fixed: Boolean,
                            value: {}
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-palette-button",
                        data: function () {
                            return {
                                transforming: !1,
                                expanded: !1
                            }
                        },
                        props: {
                            content: {
                                type: String,
                                default: ""
                            },
                            offset: {
                                type: Number,
                                default: Math.PI / 4
                            },
                            direction: {
                                type: String,
                                default: "lt"
                            },
                            radius: {
                                type: Number,
                                default: 90
                            },
                            mainButtonStyle: {
                                type: String,
                                default: ""
                            }
                        },
                        methods: {
                            toggle: function (t) {
                                this.transforming || (this.expanded ? this.collapse(t) : this.expand(t))
                            },
                            onMainAnimationEnd: function (t) {
                                this.transforming = !1, this.$emit("expanded")
                            },
                            expand: function (t) {
                                this.expanded = !0, this.transforming = !0, this.$emit("expand", t)
                            },
                            collapse: function (t) {
                                this.expanded = !1, this.$emit("collapse", t)
                            }
                        },
                        mounted: function () {
                            var t = this;
                            this.slotChildren = [];
                            for (var e = 0; e < this.$slots.default.length; e++) 3 !== t.$slots.default[e].elm.nodeType && t.slotChildren.push(t.$slots.default[e]);
                            for (var i = "", a = Math.PI * (3 + Math.max(["lt", "t", "rt", "r", "rb", "b", "lb", "l"].indexOf(this.direction), 0)) / 4, n = 0; n < this.slotChildren.length; n++) {
                                var o = (Math.PI - 2 * t.offset) / (t.slotChildren.length - 1) * n + t.offset + a,
                                    s = (Math.cos(o) * t.radius).toFixed(2),
                                    r = (Math.sin(o) * t.radius).toFixed(2);
                                i += ".expand .palette-button-" + t._uid + "-sub-" + n + "{transform:translate(" + s + "px," + r + "px) rotate(720deg);transition-delay:" + .03 * n + "s}", t.slotChildren[n].elm.className += " palette-button-" + t._uid + "-sub-" + n
                            }
                            this.styleNode = document.createElement("style"), this.styleNode.type = "text/css", this.styleNode.rel = "stylesheet", this.styleNode.title = "palette button style", this.styleNode.appendChild(document.createTextNode(i)), document.getElementsByTagName("head")[0].appendChild(this.styleNode)
                        },
                        destroyed: function () {
                            this.styleNode && this.styleNode.parentNode.removeChild(this.styleNode)
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(74),
                        n = i(75),
                        o = i(3),
                        s = i(90),
                        r = i(1);
                    i.n(r).a.prototype.$isServer || i(128);
                    var l = function (t, e) {
                            if (t) {
                                var i = n.a.transformProperty;
                                t.style[i] = t.style[i].replace(/rotateX\(.+?deg\)/gi, "") + " rotateX(" + e + "deg)"
                            }
                        },
                        d = {
                            3: -45,
                            5: -20,
                            7: -15
                        };
                    e.default = {
                        name: "picker-slot",
                        props: {
                            values: {
                                type: Array,
                                default: function () {
                                    return []
                                }
                            },
                            value: {},
                            visibleItemCount: {
                                type: Number,
                                default: 5
                            },
                            valueKey: String,
                            rotateEffect: {
                                type: Boolean,
                                default: !1
                            },
                            divider: {
                                type: Boolean,
                                default: !1
                            },
                            textAlign: {
                                type: String,
                                default: "center"
                            },
                            flex: {},
                            className: {},
                            content: {},
                            itemHeight: {
                                type: Number,
                                default: 36
                            },
                            defaultIndex: {
                                type: Number,
                                default: 0,
                                require: !1
                            }
                        },
                        data: function () {
                            return {
                                currentValue: this.value,
                                mutatingValues: this.values,
                                dragging: !1,
                                animationFrameId: null
                            }
                        },
                        mixins: [s.a],
                        computed: {
                            flexStyle: function () {
                                return {
                                    flex: this.flex,
                                    "-webkit-box-flex": this.flex,
                                    "-moz-box-flex": this.flex,
                                    "-ms-flex": this.flex
                                }
                            },
                            classNames: function () {
                                var t = "picker-slot-",
                                    e = [];
                                this.rotateEffect && e.push(t + "absolute");
                                var i = this.textAlign || "center";
                                return e.push(t + i), this.divider && e.push(t + "divider"), this.className && e.push(this.className), e.join(" ")
                            },
                            contentHeight: function () {
                                return this.itemHeight * this.visibleItemCount
                            },
                            valueIndex: function () {
                                return this.mutatingValues.indexOf(this.currentValue)
                            },
                            dragRange: function () {
                                var t = this.mutatingValues,
                                    e = this.visibleItemCount,
                                    i = this.itemHeight;
                                return [-i * (t.length - Math.ceil(e / 2)), i * Math.floor(e / 2)]
                            }
                        },
                        methods: {
                            value2Translate: function (t) {
                                var e = this.mutatingValues,
                                    i = e.indexOf(t),
                                    a = Math.floor(this.visibleItemCount / 2),
                                    n = this.itemHeight;
                                if (-1 !== i) return (i - a) * -n
                            },
                            translate2Value: function (t) {
                                var e = this.itemHeight;
                                t = Math.round(t / e) * e;
                                var i = -(t - Math.floor(this.visibleItemCount / 2) * e) / e;
                                return this.mutatingValues[i]
                            },
                            updateRotate: function (t, e) {
                                var a = this;
                                if (!this.divider) {
                                    var s = this.dragRange,
                                        r = this.$refs.wrapper;
                                    e || (e = r.querySelectorAll(".picker-item")), void 0 === t && (t = n.a.getElementTranslate(r).top);
                                    var c = Math.ceil(this.visibleItemCount / 2),
                                        u = d[this.visibleItemCount] || -20;
                                    [].forEach.call(e, function (e, n) {
                                        var r = n * a.itemHeight,
                                            d = s[1] - t,
                                            p = r - d,
                                            m = p / a.itemHeight,
                                            f = u * m;
                                        f > 180 && (f = 180), f < -180 && (f = -180), l(e, f), Math.abs(m) > c ? i.i(o.a)(e, "picker-item-far") : i.i(o.b)(e, "picker-item-far")
                                    })
                                }
                            },
                            planUpdateRotate: function () {
                                var t = this,
                                    e = this.$refs.wrapper;
                                cancelAnimationFrame(this.animationFrameId), this.animationFrameId = requestAnimationFrame(function () {
                                    t.updateRotate()
                                }), i.i(o.c)(e, n.a.transitionEndProperty, function () {
                                    cancelAnimationFrame(t.animationFrameId), t.animationFrameId = null
                                })
                            },
                            initEvents: function () {
                                var t, e, o, s = this,
                                    r = this.$refs.wrapper,
                                    l = {};
                                i.i(a.a)(r, {
                                    start: function (t) {
                                        cancelAnimationFrame(s.animationFrameId), s.animationFrameId = null, l = {
                                            range: s.dragRange,
                                            start: new Date,
                                            startLeft: t.pageX,
                                            startTop: t.pageY,
                                            startTranslateTop: n.a.getElementTranslate(r).top
                                        }, o = r.querySelectorAll(".picker-item")
                                    },
                                    drag: function (i) {
                                        s.dragging = !0, l.left = i.pageX, l.top = i.pageY;
                                        var a = l.top - l.startTop,
                                            d = l.startTranslateTop + a;
                                        n.a.translateElement(r, null, d), t = d - e || d, e = d, s.rotateEffect && s.updateRotate(e, o)
                                    },
                                    end: function () {
                                        if (s.dragging) {
                                            s.dragging = !1;
                                            var e, i = n.a.getElementTranslate(r).top;
                                            new Date - l.start < 300 && (e = i + 7 * t);
                                            var a = l.range;
                                            s.$nextTick(function () {
                                                var t, o = s.itemHeight;
                                                t = e ? Math.round(e / o) * o : Math.round(i / o) * o, t = Math.max(Math.min(t, a[1]), a[0]), n.a.translateElement(r, null, t), s.currentValue = s.translate2Value(t), s.rotateEffect && s.planUpdateRotate()
                                            })
                                        }
                                        l = {}
                                    }
                                })
                            },
                            doOnValueChange: function () {
                                var t = this.currentValue,
                                    e = this.$refs.wrapper;
                                n.a.translateElement(e, null, this.value2Translate(t))
                            },
                            doOnValuesChange: function () {
                                var t = this,
                                    e = this.$el,
                                    i = e.querySelectorAll(".picker-item");
                                [].forEach.call(i, function (e, i) {
                                    n.a.translateElement(e, null, t.itemHeight * i)
                                }), this.rotateEffect && this.planUpdateRotate()
                            }
                        },
                        mounted: function () {
                            this.ready = !0, this.$emit("input", this.currentValue), this.divider || (this.initEvents(), this.doOnValueChange()), this.rotateEffect && this.doOnValuesChange()
                        },
                        watch: {
                            values: function (t) {
                                this.mutatingValues = t
                            },
                            mutatingValues: function (t) {
                                var e = this;
                                -1 === this.valueIndex && (this.currentValue = (t || [])[0]), this.rotateEffect && this.$nextTick(function () {
                                    e.doOnValuesChange()
                                })
                            },
                            currentValue: function (t) {
                                this.doOnValueChange(), this.rotateEffect && this.planUpdateRotate(), this.$emit("input", t), this.dispatch("picker", "slotValueChange", this)
                            },
                            defaultIndex: function (t) {
                                void 0 !== this.mutatingValues[t] && this.mutatingValues.length >= t + 1 && (this.currentValue = this.mutatingValues[t])
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-picker",
                        componentName: "picker",
                        props: {
                            slots: {
                                type: Array
                            },
                            showToolbar: {
                                type: Boolean,
                                default: !1
                            },
                            visibleItemCount: {
                                type: Number,
                                default: 5
                            },
                            valueKey: String,
                            rotateEffect: {
                                type: Boolean,
                                default: !1
                            },
                            itemHeight: {
                                type: Number,
                                default: 36
                            }
                        },
                        created: function () {
                            var t = this;
                            this.$on("slotValueChange", this.slotValueChange);
                            var e = this.slots || [];
                            this.values = [];
                            var i = this.values,
                                a = 0;
                            e.forEach(function (e) {
                                e.divider || (e.valueIndex = a++, i[e.valueIndex] = (e.values || [])[e.defaultIndex || 0], t.slotValueChange())
                            })
                        },
                        methods: {
                            slotValueChange: function () {
                                this.$emit("change", this, this.values)
                            },
                            getSlot: function (t) {
                                var e, i = this.slots || [],
                                    a = 0,
                                    n = this.$children.filter(function (t) {
                                        return "picker-slot" === t.$options.name
                                    });
                                return i.forEach(function (i, o) {
                                    i.divider || (t === a && (e = n[o]), a++)
                                }), e
                            },
                            getSlotValue: function (t) {
                                var e = this.getSlot(t);
                                return e ? e.value : null
                            },
                            setSlotValue: function (t, e) {
                                var i = this.getSlot(t);
                                i && (i.currentValue = e)
                            },
                            getSlotValues: function (t) {
                                var e = this.getSlot(t);
                                return e ? e.mutatingValues : null
                            },
                            setSlotValues: function (t, e) {
                                var i = this.getSlot(t);
                                i && (i.mutatingValues = e)
                            },
                            getValues: function () {
                                return this.values
                            },
                            setValues: function (t) {
                                var e = this,
                                    i = this.slotCount;
                                if (t = t || [], i !== t.length) throw new Error("values length is not equal slot count.");
                                t.forEach(function (t, i) {
                                    e.setSlotValue(i, t)
                                })
                            }
                        },
                        computed: {
                            values: function () {
                                var t = this.slots || [],
                                    e = [];
                                return t.forEach(function (t) {
                                    t.divider || e.push(t.value)
                                }), e
                            },
                            slotCount: function () {
                                var t = this.slots || [],
                                    e = 0;
                                return t.forEach(function (t) {
                                    t.divider || e++
                                }), e
                            }
                        },
                        components: {
                            PickerSlot: i(147)
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(6),
                        n = i(1);
                    i.n(n).a.prototype.$isServer || i(12), e.default = {
                        name: "mt-popup",
                        mixins: [a.a],
                        props: {
                            modal: {
                                default: !0
                            },
                            modalFade: {
                                default: !1
                            },
                            lockScroll: {
                                default: !1
                            },
                            closeOnClickModal: {
                                default: !0
                            },
                            popupTransition: {
                                type: String,
                                default: "popup-slide"
                            },
                            position: {
                                type: String,
                                default: ""
                            }
                        },
                        data: function () {
                            return {
                                currentValue: !1,
                                currentTransition: this.popupTransition
                            }
                        },
                        watch: {
                            currentValue: function (t) {
                                this.$emit("input", t)
                            },
                            value: function (t) {
                                this.currentValue = t
                            }
                        },
                        beforeMount: function () {
                            "popup-fade" !== this.popupTransition && (this.currentTransition = "popup-slide-" + this.position)
                        },
                        mounted: function () {
                            this.value && (this.rendered = !0, this.currentValue = !0, this.open())
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-progress",
                        props: {
                            value: Number,
                            barHeight: {
                                type: Number,
                                default: 3
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(2);
                    e.default = {
                        name: "mt-radio",
                        props: {
                            title: String,
                            align: String,
                            options: {
                                type: Array,
                                required: !0
                            },
                            value: String
                        },
                        data: function () {
                            return {
                                currentValue: this.value
                            }
                        },
                        watch: {
                            value: function (t) {
                                this.currentValue = t
                            },
                            currentValue: function (t) {
                                this.$emit("input", t)
                            }
                        },
                        components: {
                            XCell: a.a
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(79);
                    e.default = {
                        name: "mt-range",
                        props: {
                            min: {
                                type: Number,
                                default: 0
                            },
                            max: {
                                type: Number,
                                default: 100
                            },
                            step: {
                                type: Number,
                                default: 1
                            },
                            disabled: {
                                type: Boolean,
                                default: !1
                            },
                            value: {
                                type: Number
                            },
                            barHeight: {
                                type: Number,
                                default: 1
                            }
                        },
                        computed: {
                            progress: function () {
                                var t = this.value;
                                return void 0 === t || null === t ? 0 : Math.floor((t - this.min) / (this.max - this.min) * 100)
                            }
                        },
                        mounted: function () {
                            var t = this,
                                e = this.$refs.thumb,
                                n = this.$refs.content,
                                o = function () {
                                    var t = n.getBoundingClientRect(),
                                        i = e.getBoundingClientRect();
                                    return {
                                        left: i.left - t.left,
                                        top: i.top - t.top,
                                        thumbBoxLeft: i.left
                                    }
                                },
                                s = {};
                            i.i(a.a)(e, {
                                start: function (e) {
                                    if (!t.disabled) {
                                        var i = o(),
                                            a = e.clientX - i.thumbBoxLeft;
                                        s = {
                                            thumbStartLeft: i.left,
                                            thumbStartTop: i.top,
                                            thumbClickDetalX: a
                                        }
                                    }
                                },
                                drag: function (e) {
                                    if (!t.disabled) {
                                        var i = n.getBoundingClientRect(),
                                            a = e.pageX - i.left - s.thumbStartLeft - s.thumbClickDetalX,
                                            o = Math.ceil((t.max - t.min) / t.step),
                                            r = s.thumbStartLeft + a - (s.thumbStartLeft + a) % (i.width / o),
                                            l = r / i.width;
                                        l < 0 ? l = 0 : l > 1 && (l = 1), t.$emit("input", Math.round(t.min + l * (t.max - t.min)))
                                    }
                                },
                                end: function () {
                                    t.disabled || (t.$emit("change", t.value), s = {})
                                }
                            })
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(2);
                    e.default = {
                        name: "mt-search",
                        data: function () {
                            return {
                                visible: !1,
                                currentValue: this.value
                            }
                        },
                        components: {
                            XCell: a.a
                        },
                        watch: {
                            currentValue: function (t) {
                                this.$emit("input", t)
                            },
                            value: function (t) {
                                this.currentValue = t
                            }
                        },
                        props: {
                            value: String,
                            autofocus: Boolean,
                            show: Boolean,
                            cancelText: {
                                default: "取消"
                            },
                            placeholder: {
                                default: "搜索"
                            },
                            result: Array
                        },
                        mounted: function () {
                            this.autofocus && this.$refs.input.focus()
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = ["snake", "double-bounce", "triple-bounce", "fading-circle"],
                        n = function (t) {
                            return "[object Number]" === {}.toString.call(t) ? (a.length <= t && (console.warn("'" + t + "' spinner not found, use the default spinner."), t = 0), a[t]) : (-1 === a.indexOf(t) && (console.warn("'" + t + "' spinner not found, use the default spinner."), t = a[0]), t)
                        };
                    e.default = {
                        name: "mt-spinner",
                        computed: {
                            spinner: function () {
                                return "spinner-" + n(this.type)
                            }
                        },
                        components: {
                            SpinnerSnake: i(156),
                            SpinnerDoubleBounce: i(155),
                            SpinnerTripleBounce: i(157),
                            SpinnerFadingCircle: i(13)
                        },
                        props: {
                            type: {
                                default: 0
                            },
                            size: {
                                type: Number,
                                default: 28
                            },
                            color: {
                                type: String,
                                default: "#ccc"
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        computed: {
                            spinnerColor: function () {
                                return this.color || this.$parent.color || "#ccc"
                            },
                            spinnerSize: function () {
                                return (this.size || this.$parent.size || 28) + "px"
                            }
                        },
                        props: {
                            size: Number,
                            color: String
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(5),
                        n = i.n(a);
                    e.default = {
                        name: "double-bounce",
                        mixins: [n.a]
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(5),
                        n = i.n(a);
                    e.default = {
                        name: "fading-circle",
                        mixins: [n.a],
                        created: function () {
                            if (!this.$isServer) {
                                this.styleNode = document.createElement("style");
                                var t = ".circle-color-" + this._uid + " > div::before { background-color: " + this.spinnerColor + "; }";
                                this.styleNode.type = "text/css", this.styleNode.rel = "stylesheet", this.styleNode.title = "fading circle style", document.getElementsByTagName("head")[0].appendChild(this.styleNode), this.styleNode.appendChild(document.createTextNode(t))
                            }
                        },
                        destroyed: function () {
                            this.styleNode && this.styleNode.parentNode.removeChild(this.styleNode)
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(5),
                        n = i.n(a);
                    e.default = {
                        name: "snake",
                        mixins: [n.a]
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(5),
                        n = i.n(a);
                    e.default = {
                        name: "triple-bounce",
                        mixins: [n.a],
                        computed: {
                            spinnerSize: function () {
                                return (this.size || this.$parent.size || 28) / 3 + "px"
                            },
                            bounceStyle: function () {
                                return {
                                    width: this.spinnerSize,
                                    height: this.spinnerSize,
                                    backgroundColor: this.spinnerColor
                                }
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-swipe-item",
                        mounted: function () {
                            this.$parent && this.$parent.swipeItemCreated(this)
                        },
                        destroyed: function () {
                            this.$parent && this.$parent.swipeItemDestroyed(this)
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(3);
                    e.default = {
                        name: "mt-swipe",
                        created: function () {
                            this.dragState = {}
                        },
                        data: function () {
                            return {
                                ready: !1,
                                dragging: !1,
                                userScrolling: !1,
                                animating: !1,
                                index: 0,
                                pages: [],
                                timer: null,
                                reInitTimer: null,
                                noDrag: !1,
                                isDone: !1
                            }
                        },
                        props: {
                            speed: {
                                type: Number,
                                default: 300
                            },
                            defaultIndex: {
                                type: Number,
                                default: 0
                            },
                            auto: {
                                type: Number,
                                default: 3e3
                            },
                            continuous: {
                                type: Boolean,
                                default: !0
                            },
                            showIndicators: {
                                type: Boolean,
                                default: !0
                            },
                            noDragWhenSingle: {
                                type: Boolean,
                                default: !0
                            },
                            prevent: {
                                type: Boolean,
                                default: !1
                            },
                            stopPropagation: {
                                type: Boolean,
                                default: !1
                            }
                        },
                        watch: {
                            index: function (t) {
                                this.$emit("change", t)
                            }
                        },
                        methods: {
                            swipeItemCreated: function () {
                                var t = this;
                                this.ready && (clearTimeout(this.reInitTimer), this.reInitTimer = setTimeout(function () {
                                    t.reInitPages()
                                }, 100))
                            },
                            swipeItemDestroyed: function () {
                                var t = this;
                                this.ready && (clearTimeout(this.reInitTimer), this.reInitTimer = setTimeout(function () {
                                    t.reInitPages()
                                }, 100))
                            },
                            translate: function (t, e, n, o) {
                                var s = arguments,
                                    r = this;
                                if (n) {
                                    this.animating = !0, t.style.webkitTransition = "-webkit-transform " + n + "ms ease-in-out", setTimeout(function () {
                                        t.style.webkitTransform = "translate3d(" + e + "px, 0, 0)"
                                    }, 50);
                                    var l = !1,
                                        d = function () {
                                            l || (l = !0, r.animating = !1, t.style.webkitTransition = "", t.style.webkitTransform = "", o && o.apply(r, s))
                                        };
                                    i.i(a.c)(t, "webkitTransitionEnd", d), setTimeout(d, n + 100)
                                } else t.style.webkitTransition = "", t.style.webkitTransform = "translate3d(" + e + "px, 0, 0)"
                            },
                            reInitPages: function () {
                                var t = this.$children;
                                this.noDrag = 1 === t.length && this.noDragWhenSingle;
                                var e = [],
                                    n = Math.floor(this.defaultIndex),
                                    o = n >= 0 && n < t.length ? n : 0;
                                this.index = o, t.forEach(function (t, n) {
                                    e.push(t.$el), i.i(a.b)(t.$el, "is-active"), n === o && i.i(a.a)(t.$el, "is-active")
                                }), this.pages = e
                            },
                            doAnimate: function (t, e) {
                                var n = this;
                                if (0 !== this.$children.length && (e || !(this.$children.length < 2))) {
                                    var o, s, r, l, d, c = this.speed || 300,
                                        u = this.index,
                                        p = this.pages,
                                        m = p.length;
                                    e ? (o = e.prevPage, r = e.currentPage, s = e.nextPage, l = e.pageWidth, d = e.offsetLeft) : (l = this.$el.clientWidth, r = p[u], o = p[u - 1], s = p[u + 1], this.continuous && p.length > 1 && (o || (o = p[p.length - 1]), s || (s = p[0])), o && (o.style.display = "block", this.translate(o, -l)), s && (s.style.display = "block", this.translate(s, l)));
                                    var f, h = this.$children[u].$el;
                                    "prev" === t ? (u > 0 && (f = u - 1), this.continuous && 0 === u && (f = m - 1)) : "next" === t && (u < m - 1 && (f = u + 1), this.continuous && u === m - 1 && (f = 0));
                                    var v = function () {
                                        if (void 0 !== f) {
                                            var t = n.$children[f].$el;
                                            i.i(a.b)(h, "is-active"), i.i(a.a)(t, "is-active"), n.index = f
                                        }
                                        n.isDone && n.end(), o && (o.style.display = ""), s && (s.style.display = "")
                                    };
                                    setTimeout(function () {
                                        "next" === t ? (n.isDone = !0, n.before(r), n.translate(r, -l, c, v), s && n.translate(s, 0, c)) : "prev" === t ? (n.isDone = !0, n.before(r), n.translate(r, l, c, v), o && n.translate(o, 0, c)) : (n.isDone = !1, n.translate(r, 0, c, v), void 0 !== d ? (o && d > 0 && n.translate(o, -1 * l, c), s && d < 0 && n.translate(s, l, c)) : (o && n.translate(o, -1 * l, c), s && n.translate(s, l, c)))
                                    }, 10)
                                }
                            },
                            next: function () {
                                this.doAnimate("next")
                            },
                            prev: function () {
                                this.doAnimate("prev")
                            },
                            before: function () {
                                this.$emit("before", this.index)
                            },
                            end: function () {
                                this.$emit("end", this.index)
                            },
                            doOnTouchStart: function (t) {
                                if (!this.noDrag) {
                                    var e = this.$el,
                                        i = this.dragState,
                                        a = t.touches[0];
                                    i.startTime = new Date, i.startLeft = a.pageX, i.startTop = a.pageY, i.startTopAbsolute = a.clientY, i.pageWidth = e.offsetWidth, i.pageHeight = e.offsetHeight;
                                    var n = this.$children[this.index - 1],
                                        o = this.$children[this.index],
                                        s = this.$children[this.index + 1];
                                    this.continuous && this.pages.length > 1 && (n || (n = this.$children[this.$children.length - 1]), s || (s = this.$children[0])), i.prevPage = n ? n.$el : null, i.dragPage = o ? o.$el : null, i.nextPage = s ? s.$el : null, i.prevPage && (i.prevPage.style.display = "block"), i.nextPage && (i.nextPage.style.display = "block")
                                }
                            },
                            doOnTouchMove: function (t) {
                                if (!this.noDrag) {
                                    var e = this.dragState,
                                        i = t.touches[0];
                                    e.currentLeft = i.pageX, e.currentTop = i.pageY, e.currentTopAbsolute = i.clientY;
                                    var a = e.currentLeft - e.startLeft,
                                        n = e.currentTopAbsolute - e.startTopAbsolute,
                                        o = Math.abs(a),
                                        s = Math.abs(n);
                                    if (o < 5 || o >= 5 && s >= 1.73 * o) return void (this.userScrolling = !0);
                                    this.userScrolling = !1, t.preventDefault(), a = Math.min(Math.max(1 - e.pageWidth, a), e.pageWidth - 1);
                                    var r = a < 0 ? "next" : "prev";
                                    e.prevPage && "prev" === r && this.translate(e.prevPage, a - e.pageWidth), this.translate(e.dragPage, a), e.nextPage && "next" === r && this.translate(e.nextPage, a + e.pageWidth)
                                }
                            },
                            doOnTouchEnd: function () {
                                if (!this.noDrag) {
                                    var t = this.dragState,
                                        e = new Date - t.startTime,
                                        i = null,
                                        a = t.currentLeft - t.startLeft,
                                        n = t.currentTop - t.startTop,
                                        o = t.pageWidth,
                                        s = this.index,
                                        r = this.pages.length;
                                    if (e < 300) {
                                        var l = Math.abs(a) < 5 && Math.abs(n) < 5;
                                        (isNaN(a) || isNaN(n)) && (l = !0), l && this.$children[this.index].$emit("tap")
                                    }
                                    e < 300 && void 0 === t.currentLeft || ((e < 300 || Math.abs(a) > o / 2) && (i = a < 0 ? "next" : "prev"), this.continuous || (0 === s && "prev" === i || s === r - 1 && "next" === i) && (i = null), this.$children.length < 2 && (i = null), this.doAnimate(i, {
                                        offsetLeft: a,
                                        pageWidth: t.pageWidth,
                                        prevPage: t.prevPage,
                                        currentPage: t.dragPage,
                                        nextPage: t.nextPage
                                    }), this.dragState = {})
                                }
                            },
                            initTimer: function () {
                                var t = this;
                                this.auto > 0 && (this.timer = setInterval(function () {
                                    return !t.continuous && t.index >= t.pages.length - 1 ? t.clearTimer() : void (t.dragging || t.animating || t.next())
                                }, this.auto))
                            },
                            clearTimer: function () {
                                clearInterval(this.timer), this.timer = null
                            }
                        },
                        destroyed: function () {
                            this.timer && this.clearTimer(), this.reInitTimer && (clearTimeout(this.reInitTimer), this.reInitTimer = null)
                        },
                        mounted: function () {
                            var t = this;
                            this.ready = !0, this.initTimer(), this.reInitPages();
                            var e = this.$el;
                            e.addEventListener("touchstart", function (e) {
                                t.prevent && e.preventDefault(), t.stopPropagation && e.stopPropagation(), t.animating || (t.dragging = !0, t.userScrolling = !1, t.doOnTouchStart(e))
                            }), e.addEventListener("touchmove", function (e) {
                                t.dragging && (t.timer && t.clearTimer(), t.doOnTouchMove(e))
                            }), e.addEventListener("touchend", function (e) {
                                return t.userScrolling ? (t.dragging = !1, void (t.dragState = {})) : void (t.dragging && (t.initTimer(), t.doOnTouchEnd(e), t.dragging = !1))
                            })
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-switch",
                        props: {
                            value: Boolean
                        },
                        computed: {
                            currentValue: {
                                get: function () {
                                    return this.value
                                },
                                set: function (t) {
                                    this.$emit("input", t)
                                }
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-tab-container-item",
                        props: ["id"]
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    });
                    var a = i(3),
                        n = i(15),
                        o = i.n(n);
                    e.default = {
                        name: "mt-tab-container",
                        props: {
                            value: {},
                            swipeable: Boolean
                        },
                        data: function () {
                            return {
                                start: {
                                    x: 0,
                                    y: 0
                                },
                                swiping: !1,
                                activeItems: [],
                                pageWidth: 0,
                                currentActive: this.value
                            }
                        },
                        watch: {
                            value: function (t) {
                                this.currentActive = t
                            },
                            currentActive: function (t, e) {
                                if (this.$emit("input", t), this.swipeable) {
                                    var i = o()(this.$children, function (t) {
                                        return t.id === e
                                    });
                                    this.swipeLeaveTransition(i)
                                }
                            }
                        },
                        mounted: function () {
                            this.swipeable && (this.wrap = this.$refs.wrap, this.pageWidth = this.wrap.clientWidth, this.limitWidth = this.pageWidth / 4)
                        },
                        methods: {
                            swipeLeaveTransition: function (t) {
                                var e = this;
                                void 0 === t && (t = 0), "number" != typeof this.index && (this.index = o()(this.$children, function (t) {
                                    return t.id === e.currentActive
                                }), this.swipeMove(-t * this.pageWidth)), setTimeout(function () {
                                    e.wrap.classList.add("swipe-transition"), e.swipeMove(-e.index * e.pageWidth), i.i(a.c)(e.wrap, "webkitTransitionEnd", function (t) {
                                        e.wrap.classList.remove("swipe-transition"), e.wrap.style.webkitTransform = "", e.swiping = !1, e.index = null
                                    })
                                }, 0)
                            },
                            swipeMove: function (t) {
                                this.wrap.style.webkitTransform = "translate3d(" + t + "px, 0, 0)", this.swiping = !0
                            },
                            startDrag: function (t) {
                                this.swipeable && (t = t.changedTouches ? t.changedTouches[0] : t, this.dragging = !0, this.start.x = t.pageX, this.start.y = t.pageY)
                            },
                            onDrag: function (t) {
                                var e = this;
                                if (this.dragging) {
                                    var i = t.changedTouches ? t.changedTouches[0] : t,
                                        a = i.pageY - this.start.y,
                                        n = i.pageX - this.start.x,
                                        s = Math.abs(a),
                                        r = Math.abs(n);
                                    if (!(r < 5 || r >= 5 && s >= 1.73 * r)) {
                                        t.preventDefault();
                                        var l = this.$children.length - 1,
                                            d = o()(this.$children, function (t) {
                                                return t.id === e.currentActive
                                            }),
                                            c = d * this.pageWidth,
                                            u = n - c;
                                        if (Math.abs(u) > l * this.pageWidth || u > 0 && u < this.pageWidth) return void (this.swiping = !1);
                                        this.offsetLeft = n, this.index = d, this.swipeMove(u)
                                    }
                                }
                            },
                            endDrag: function () {
                                if (this.swiping) {
                                    var t = this.offsetLeft > 0 ? -1 : 1;
                                    if (Math.abs(this.offsetLeft) > this.limitWidth) {
                                        this.index += t;
                                        var e = this.$children[this.index];
                                        if (e) return void (this.currentActive = e.id)
                                    }
                                    this.swipeLeaveTransition()
                                }
                            }
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-tab-item",
                        props: ["id"]
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        name: "mt-tabbar",
                        props: {
                            fixed: Boolean,
                            value: {}
                        }
                    }
                }, function (t, e, i) {
                    Object.defineProperty(e, "__esModule", {
                        value: !0
                    }), e.default = {
                        props: {
                            message: String,
                            className: {
                                type: String,
                                default: ""
                            },
                            position: {
                                type: String,
                                default: "middle"
                            },
                            iconClass: {
                                type: String,
                                default: ""
                            }
                        },
                        data: function () {
                            return {
                                visible: !1
                            }
                        },
                        computed: {
                            customClass: function () {
                                var t = [];
                                switch (this.position) {
                                    case "top":
                                        t.push("is-placetop");
                                        break;
                                    case "bottom":
                                        t.push("is-placebottom");
                                        break;
                                    default:
                                        t.push("is-placemiddle")
                                }
                                return t.push(this.className), t.join(" ")
                            }
                        }
                    }
                }, function (t, e, i) {
                    var a = i(131),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(132),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(133),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(134),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(136),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(137),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(138),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(139),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(140),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(141),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a, n = i(1),
                        o = i.n(n),
                        s = o.a.extend(i(142));
                    e.a = {
                        open: function (t) {
                            void 0 === t && (t = {}), a || (a = new s({
                                el: document.createElement("div")
                            })), a.visible || (a.text = "string" == typeof t ? t : t.text || "", a.spinnerType = t.spinnerType || "snake", document.body.appendChild(a.$el), o.a.nextTick(function () {
                                a.visible = !0
                            }))
                        },
                        close: function () {
                            a && (a.visible = !1)
                        }
                    }
                }, function (t, e, i) {
                    var a = i(4),
                        n = (i.n(a), i(66));
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(1),
                        n = i.n(a),
                        o = "@@InfiniteScroll",
                        s = function (t, e) {
                            var i, a, n, o, s, r = function () {
                                t.apply(o, s), a = i
                            };
                            return function () {
                                if (o = this, s = arguments, i = Date.now(), n && (clearTimeout(n), n = null), a) {
                                    var t = e - (i - a);
                                    t < 0 ? r() : n = setTimeout(function () {
                                        r()
                                    }, t)
                                } else r()
                            }
                        },
                        r = function (t) {
                            return t === window ? Math.max(window.pageYOffset || 0, document.documentElement.scrollTop) : t.scrollTop
                        },
                        l = n.a.prototype.$isServer ? {} : document.defaultView.getComputedStyle,
                        d = function (t) {
                            for (var e = t; e && "HTML" !== e.tagName && "BODY" !== e.tagName && 1 === e.nodeType;) {
                                var i = l(e).overflowY;
                                if ("scroll" === i || "auto" === i) return e;
                                e = e.parentNode
                            }
                            return window
                        },
                        c = function (t) {
                            return t === window ? document.documentElement.clientHeight : t.clientHeight
                        },
                        u = function (t) {
                            return t === window ? r(window) : t.getBoundingClientRect().top + r(window)
                        },
                        p = function (t) {
                            for (var e = t.parentNode; e;) {
                                if ("HTML" === e.tagName) return !0;
                                if (11 === e.nodeType) return !1;
                                e = e.parentNode
                            }
                            return !1
                        },
                        m = function () {
                            if (!this.binded) {
                                this.binded = !0;
                                var t = this,
                                    e = t.el;
                                t.scrollEventTarget = d(e), t.scrollListener = s(f.bind(t), 200), t.scrollEventTarget.addEventListener("scroll", t.scrollListener);
                                var i = e.getAttribute("infinite-scroll-disabled"),
                                    a = !1;
                                i && (this.vm.$watch(i, function (e) {
                                    t.disabled = e, !e && t.immediateCheck && f.call(t)
                                }), a = Boolean(t.vm[i])), t.disabled = a;
                                var n = e.getAttribute("infinite-scroll-distance"),
                                    o = 0;
                                n && (o = Number(t.vm[n] || n), isNaN(o) && (o = 0)), t.distance = o;
                                var r = e.getAttribute("infinite-scroll-immediate-check"),
                                    l = !0;
                                r && (l = Boolean(t.vm[r])), t.immediateCheck = l, l && f.call(t);
                                var c = e.getAttribute("infinite-scroll-listen-for-event");
                                c && t.vm.$on(c, function () {
                                    f.call(t)
                                })
                            }
                        },
                        f = function (t) {
                            var e = this.scrollEventTarget,
                                i = this.el,
                                a = this.distance;
                            if (!0 === t || !this.disabled) {
                                var n = r(e),
                                    o = n + c(e),
                                    s = !1;
                                if (e === i) s = e.scrollHeight - o <= a;
                                else {
                                    s = o + a >= u(i) - u(e) + i.offsetHeight + n
                                }
                                s && this.expression && this.expression()
                            }
                        };
                    e.a = {
                        bind: function (t, e, i) {
                            t[o] = {
                                el: t,
                                vm: i.context,
                                expression: e.value
                            };
                            var a = arguments,
                                n = function () {
                                    t[o].vm.$nextTick(function () {
                                        p(t) && m.call(t[o], a), t[o].bindTryCount = 0;
                                        !function e() {
                                            t[o].bindTryCount > 10 || (t[o].bindTryCount++, p(t) ? m.call(t[o], a) : setTimeout(e, 50))
                                        }()
                                    })
                                };
                            return t[o].vm._isMounted ? void n() : void t[o].vm.$on("hook:mounted", n)
                        },
                        unbind: function (t) {
                            t[o] && t[o].scrollEventTarget && t[o].scrollEventTarget.removeEventListener("scroll", t[o].scrollListener)
                        }
                    }
                }, function (t, e, i) {
                    var a = i(65),
                        n = i(4),
                        o = (i.n(n), i(1)),
                        s = i.n(o),
                        r = function (t) {
                            t.directive("InfiniteScroll", a.a)
                        };
                    !s.a.prototype.$isServer && window.Vue && (window.infiniteScroll = a.a, s.a.use(r)), a.a.install = r, e.a = a.a
                }, function (t, e, i) {
                    var a = i(4),
                        n = (i.n(a), i(68));
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(130),
                        n = i.n(a),
                        o = i(4);
                    i.n(o), e.a = n.a
                }, function (t, e, i) {
                    var a = i(143),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(71);
                    i.d(e, "a", function () {
                        return a.a
                    })
                }, function (t, e, i) {
                    var a, n, o = i(1),
                        r = i.n(o),
                        l = i(144),
                        d = i.n(l),
                        c = {
                            title: "提示",
                            message: "",
                            type: "",
                            showInput: !1,
                            showClose: !0,
                            modalFade: !1,
                            lockScroll: !1,
                            closeOnClickModal: !0,
                            inputValue: null,
                            inputPlaceholder: "",
                            inputPattern: null,
                            inputValidator: null,
                            inputErrorMessage: "",
                            showConfirmButton: !0,
                            showCancelButton: !1,
                            confirmButtonPosition: "right",
                            confirmButtonHighlight: !1,
                            cancelButtonHighlight: !1,
                            confirmButtonText: "确定",
                            cancelButtonText: "取消",
                            confirmButtonClass: "",
                            cancelButtonClass: ""
                        },
                        u = function (t) {
                            for (var e = arguments, i = 1, a = arguments.length; i < a; i++) {
                                var n = e[i];
                                for (var o in n)
                                    if (n.hasOwnProperty(o)) {
                                        var s = n[o];
                                        void 0 !== s && (t[o] = s)
                                    }
                            }
                            return t
                        },
                        p = r.a.extend(d.a),
                        m = [],
                        f = function (t) {
                            if (a) {
                                var e = a.callback;
                                if ("function" == typeof e && (n.showInput ? e(n.inputValue, t) : e(t)), a.resolve) {
                                    var i = a.options.$type;
                                    "confirm" === i || "prompt" === i ? "confirm" === t ? n.showInput ? a.resolve({
                                        value: n.inputValue,
                                        action: t
                                    }) : a.resolve(t) : "cancel" === t && a.reject && a.reject(t) : a.resolve(t)
                                }
                            }
                        },
                        h = function () {
                            n = new p({
                                el: document.createElement("div")
                            }), n.callback = f
                        },
                        v = function () {
                            if (n || h(), (!n.value || n.closeTimer) && m.length > 0) {
                                a = m.shift();
                                var t = a.options;
                                for (var e in t) t.hasOwnProperty(e) && (n[e] = t[e]);
                                void 0 === t.callback && (n.callback = f), ["modal", "showClose", "closeOnClickModal", "closeOnPressEscape"].forEach(function (t) {
                                    void 0 === n[t] && (n[t] = !0)
                                }), document.body.appendChild(n.$el), r.a.nextTick(function () {
                                    n.value = !0
                                })
                            }
                        },
                        g = function t(e, i) {
                            return "string" == typeof e ? (e = {
                                title: e
                            }, arguments[1] && (e.message = arguments[1]), arguments[2] && (e.type = arguments[2])) : e.callback && !i && (i = e.callback), "undefined" != typeof Promise ? new Promise(function (a, n) {
                                m.push({
                                    options: u({}, c, t.defaults || {}, e),
                                    callback: i,
                                    resolve: a,
                                    reject: n
                                }), v()
                            }) : (m.push({
                                options: u({}, c, t.defaults || {}, e),
                                callback: i
                            }), void v())
                        };
                    g.setDefaults = function (t) {
                        g.defaults = t
                    }, g.alert = function (t, e, i) {
                        return "object" == (void 0 === e ? "undefined" : s(e)) && (i = e, e = ""), g(u({
                            title: e,
                            message: t,
                            $type: "alert",
                            closeOnPressEscape: !1,
                            closeOnClickModal: !1
                        }, i))
                    }, g.confirm = function (t, e, i) {
                        return "object" == (void 0 === e ? "undefined" : s(e)) && (i = e, e = ""), g(u({
                            title: e,
                            message: t,
                            $type: "confirm",
                            showCancelButton: !0
                        }, i))
                    }, g.prompt = function (t, e, i) {
                        return "object" == (void 0 === e ? "undefined" : s(e)) && (i = e, e = ""), g(u({
                            title: e,
                            message: t,
                            showCancelButton: !0,
                            showInput: !0,
                            $type: "prompt"
                        }, i))
                    }, g.close = function () {
                        n && (n.value = !1, m = [], a = null)
                    }, e.a = g
                }, function (t, e, i) {
                    var a = i(145),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(146),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(1),
                        n = i.n(a),
                        o = !1,
                        s = !n.a.prototype.$isServer && "ontouchstart" in window;
                    e.a = function (t, e) {
                        var i = function (t) {
                                e.drag && e.drag(s ? t.changedTouches[0] || t.touches[0] : t)
                            },
                            a = function t(a) {
                                s || (document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", t)), document.onselectstart = null, document.ondragstart = null, o = !1, e.end && e.end(s ? a.changedTouches[0] || a.touches[0] : a)
                            };
                        t.addEventListener(s ? "touchstart" : "mousedown", function (t) {
                            o || (document.onselectstart = function () {
                                return !1
                            }, document.ondragstart = function () {
                                return !1
                            }, s || (document.addEventListener("mousemove", i), document.addEventListener("mouseup", a)), o = !0, e.start && (t.preventDefault(), e.start(s ? t.changedTouches[0] || t.touches[0] : t)))
                        }), s && (t.addEventListener("touchmove", i), t.addEventListener("touchend", a), t.addEventListener("touchcancel", a))
                    }
                }, function (t, e, i) {
                    var a = i(1),
                        n = i.n(a),
                        o = {};
                    if (!n.a.prototype.$isServer) {
                        var s, r = document.documentElement.style,
                            l = !1;
                        window.opera && "[object Opera]" === Object.prototype.toString.call(opera) ? s = "presto" : "MozAppearance" in r ? s = "gecko" : "WebkitAppearance" in r ? s = "webkit" : "string" == typeof navigator.cpuClass && (s = "trident");
                        var d = {
                                trident: "-ms-",
                                gecko: "-moz-",
                                webkit: "-webkit-",
                                presto: "-o-"
                            }[s],
                            c = {
                                trident: "ms",
                                gecko: "Moz",
                                webkit: "Webkit",
                                presto: "O"
                            }[s],
                            u = document.createElement("div"),
                            p = c + "Perspective",
                            m = c + "Transform",
                            f = d + "transform",
                            h = c + "Transition",
                            v = d + "transition",
                            g = c.toLowerCase() + "TransitionEnd";
                        void 0 !== u.style[p] && (l = !0);
                        var y = function (t) {
                                var e = {
                                    left: 0,
                                    top: 0
                                };
                                if (null === t || null === t.style) return e;
                                var i = t.style[m],
                                    a = /translate\(\s*(-?\d+(\.?\d+?)?)px,\s*(-?\d+(\.\d+)?)px\)\s*translateZ\(0px\)/gi.exec(i);
                                return a && (e.left = +a[1], e.top = +a[3]), e
                            },
                            b = function (t, e, i) {
                                if ((null !== e || null !== i) && null !== t && void 0 !== t && null !== t.style && (t.style[m] || 0 !== e || 0 !== i)) {
                                    if (null === e || null === i) {
                                        var a = y(t);
                                        null === e && (e = a.left), null === i && (i = a.top)
                                    }
                                    C(t), t.style[m] += l ? " translate(" + (e ? e + "px" : "0px") + "," + (i ? i + "px" : "0px") + ") translateZ(0px)" : " translate(" + (e ? e + "px" : "0px") + "," + (i ? i + "px" : "0px") + ")"
                                }
                            },
                            C = function (t) {
                                if (null !== t && null !== t.style) {
                                    var e = t.style[m];
                                    e && (e = e.replace(/translate\(\s*(-?\d+(\.?\d+?)?)px,\s*(-?\d+(\.\d+)?)px\)\s*translateZ\(0px\)/g, ""), t.style[m] = e)
                                }
                            };
                        o = {
                            transformProperty: m,
                            transformStyleName: f,
                            transitionProperty: h,
                            transitionStyleName: v,
                            transitionEndProperty: g,
                            getElementTranslate: y,
                            translateElement: b,
                            cancelTranslateElement: C
                        }
                    }
                    e.a = o
                }, function (t, e, i) {
                    var a = i(150),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(151),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(152),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(1),
                        n = i.n(a),
                        o = !1,
                        s = !n.a.prototype.$isServer && "ontouchstart" in window;
                    e.a = function (t, e) {
                        var i = function (t) {
                                e.drag && e.drag(s ? t.changedTouches[0] || t.touches[0] : t)
                            },
                            a = function t(a) {
                                s || (document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", t)), document.onselectstart = null, document.ondragstart = null, o = !1, e.end && e.end(s ? a.changedTouches[0] || a.touches[0] : a)
                            };
                        t.addEventListener(s ? "touchstart" : "mousedown", function (t) {
                            o || (t.preventDefault(), document.onselectstart = function () {
                                return !1
                            }, document.ondragstart = function () {
                                return !1
                            }, s || (document.addEventListener("mousemove", i), document.addEventListener("mouseup", a)), o = !0, e.start && e.start(s ? t.changedTouches[0] || t.touches[0] : t))
                        }), s && (t.addEventListener("touchmove", i), t.addEventListener("touchend", a), t.addEventListener("touchcancel", a))
                    }
                }, function (t, e, i) {
                    var a = i(153),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(4),
                        n = (i.n(a), i(158)),
                        o = i.n(n);
                    i.d(e, "a", function () {
                        return o.a
                    })
                }, function (t, e, i) {
                    var a = i(159),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(160),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(161),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(162),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(163),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(164),
                        n = i.n(a);
                    i.d(e, "a", function () {
                        return n.a
                    })
                }, function (t, e, i) {
                    var a = i(89);
                    i.d(e, "a", function () {
                        return a.a
                    })
                }, function (t, e, i) {
                    var a = i(1),
                        n = i.n(a),
                        o = n.a.extend(i(165)),
                        s = [],
                        r = function () {
                            if (s.length > 0) {
                                var t = s[0];
                                return s.splice(0, 1), t
                            }
                            return new o({
                                el: document.createElement("div")
                            })
                        },
                        l = function (t) {
                            t && s.push(t)
                        },
                        d = function (t) {
                            t.target.parentNode && t.target.parentNode.removeChild(t.target)
                        };
                    o.prototype.close = function () {
                        this.visible = !1, this.$el.addEventListener("transitionend", d), this.closed = !0, l(this)
                    };
                    var c = function (t) {
                        void 0 === t && (t = {});
                        var e = t.duration || 3e3,
                            i = r();
                        return i.closed = !1, clearTimeout(i.timer), i.message = "string" == typeof t ? t : t.message, i.position = t.position || "middle", i.className = t.className || "", i.iconClass = t.iconClass || "", document.body.appendChild(i.$el), n.a.nextTick(function () {
                            i.visible = !0, i.$el.removeEventListener("transitionend", d), ~e && (i.timer = setTimeout(function () {
                                i.closed || i.close()
                            }, e))
                        }), i
                    };
                    e.a = c
                }, function (t, e, i) {
                    function a(t, e, i) {
                        this.$children.forEach(function (n) {
                            n.$options.componentName === t ? n.$emit.apply(n, [e].concat(i)) : a.apply(n, [t, e].concat(i))
                        })
                    }

                    e.a = {
                        methods: {
                            dispatch: function (t, e, i) {
                                for (var a = this.$parent, n = a.$options.componentName; a && (!n || n !== t);) (a = a.$parent) && (n = a.$options.componentName);
                                a && a.$emit.apply(a, [e].concat(i))
                            },
                            broadcast: function (t, e, i) {
                                a.call(this, t, e, i)
                            }
                        }
                    }
                }, function (t, e, i) {
                    var a = i(1),
                        n = i.n(a),
                        o = i(3),
                        s = !1,
                        r = function () {
                            if (!n.a.prototype.$isServer) {
                                var t = d.modalDom;
                                return t ? s = !0 : (s = !1, t = document.createElement("div"), d.modalDom = t, t.addEventListener("touchmove", function (t) {
                                    t.preventDefault(), t.stopPropagation()
                                }), t.addEventListener("click", function () {
                                    d.doOnModalClick && d.doOnModalClick()
                                })), t
                            }
                        },
                        l = {},
                        d = {
                            zIndex: 2e3,
                            modalFade: !0,
                            getInstance: function (t) {
                                return l[t]
                            },
                            register: function (t, e) {
                                t && e && (l[t] = e)
                            },
                            deregister: function (t) {
                                t && (l[t] = null, delete l[t])
                            },
                            nextZIndex: function () {
                                return d.zIndex++
                            },
                            modalStack: [],
                            doOnModalClick: function () {
                                var t = d.modalStack[d.modalStack.length - 1];
                                if (t) {
                                    var e = d.getInstance(t.id);
                                    e && e.closeOnClickModal && e.close()
                                }
                            },
                            openModal: function (t, e, a, l, d) {
                                if (!n.a.prototype.$isServer && t && void 0 !== e) {
                                    this.modalFade = d;
                                    for (var c = this.modalStack, u = 0, p = c.length; u < p; u++) {
                                        if (c[u].id === t) return
                                    }
                                    var m = r();
                                    if (i.i(o.a)(m, "v-modal"), this.modalFade && !s && i.i(o.a)(m, "v-modal-enter"), l) {
                                        l.trim().split(/\s+/).forEach(function (t) {
                                            return i.i(o.a)(m, t)
                                        })
                                    }
                                    setTimeout(function () {
                                        i.i(o.b)(m, "v-modal-enter")
                                    }, 200), a && a.parentNode && 11 !== a.parentNode.nodeType ? a.parentNode.appendChild(m) : document.body.appendChild(m), e && (m.style.zIndex = e), m.style.display = "", this.modalStack.push({
                                        id: t,
                                        zIndex: e,
                                        modalClass: l
                                    })
                                }
                            },
                            closeModal: function (t) {
                                var e = this.modalStack,
                                    a = r();
                                if (e.length > 0) {
                                    var n = e[e.length - 1];
                                    if (n.id === t) {
                                        if (n.modalClass) {
                                            n.modalClass.trim().split(/\s+/).forEach(function (t) {
                                                return i.i(o.b)(a, t)
                                            })
                                        }
                                        e.pop(), e.length > 0 && (a.style.zIndex = e[e.length - 1].zIndex)
                                    } else
                                        for (var s = e.length - 1; s >= 0; s--)
                                            if (e[s].id === t) {
                                                e.splice(s, 1);
                                                break
                                            }
                                }
                                0 === e.length && (this.modalFade && i.i(o.a)(a, "v-modal-leave"), setTimeout(function () {
                                    0 === e.length && (a.parentNode && a.parentNode.removeChild(a), a.style.display = "none", d.modalDom = void 0), i.i(o.b)(a, "v-modal-leave")
                                }, 200))
                            }
                        };
                    !n.a.prototype.$isServer && window.addEventListener("keydown", function (t) {
                        if (27 === t.keyCode && d.modalStack.length > 0) {
                            var e = d.modalStack[d.modalStack.length - 1];
                            if (!e) return;
                            var i = d.getInstance(e.id);
                            i.closeOnPressEscape && i.close()
                        }
                    }), e.a = d
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                }, function (t, e) {
                    !function (t) {
                        for (var e = 0, i = ["webkit", "moz"], a = t.requestAnimationFrame, n = t.cancelAnimationFrame, o = i.length; --o >= 0 && !a;) a = t[i[o] + "RequestAnimationFrame"], n = t[i[o] + "CancelAnimationFrame"];
                        a && n || (a = function (t) {
                            var i = +new Date,
                                a = Math.max(e + 16, i);
                            return setTimeout(function () {
                                t(e = a)
                            }, a - i)
                        }, n = clearTimeout), t.requestAnimationFrame = a, t.cancelAnimationFrame = n
                    }(window)
                }, function (t, e) {
                    t.exports = ""
                }, function (t, e, i) {
                    !function (e, i) {
                        t.exports = function () {
                            function t(t, e) {
                                if (t.length) {
                                    var i = t.indexOf(e);
                                    return i > -1 ? t.splice(i, 1) : void 0
                                }
                            }

                            function e(t, e) {
                                if (!t || !e) return t || {};
                                if (t instanceof Object)
                                    for (var i in e) t[i] = e[i];
                                return t
                            }

                            function i(t, e) {
                                for (var i = !1, a = 0, n = t.length; a < n; a++)
                                    if (e(t[a])) {
                                        i = !0;
                                        break
                                    }
                                return i
                            }

                            function a(t, e) {
                                if ("IMG" === t.tagName && t.getAttribute("data-srcset")) {
                                    var i = t.getAttribute("data-srcset"),
                                        a = [],
                                        n = t.parentNode,
                                        o = n.offsetWidth * e,
                                        s = void 0,
                                        r = void 0,
                                        l = void 0;
                                    i = i.trim().split(","), i.map(function (t) {
                                        t = t.trim(), s = t.lastIndexOf(" "), -1 === s ? (r = t, l = 999998) : (r = t.substr(0, s), l = parseInt(t.substr(s + 1, t.length - s - 2), 10)), a.push([l, r])
                                    }), a.sort(function (t, e) {
                                        if (t[0] < e[0]) return -1;
                                        if (t[0] > e[0]) return 1;
                                        if (t[0] === e[0]) {
                                            if (-1 !== e[1].indexOf(".webp", e[1].length - 5)) return 1;
                                            if (-1 !== t[1].indexOf(".webp", t[1].length - 5)) return -1
                                        }
                                        return 0
                                    });
                                    for (var d = "", c = void 0, u = a.length, p = 0; p < u; p++)
                                        if (c = a[p], c[0] >= o) {
                                            d = c[1];
                                            break
                                        }
                                    return d
                                }
                            }

                            function n(t, e) {
                                for (var i = void 0, a = 0, n = t.length; a < n; a++)
                                    if (e(t[a])) {
                                        i = t[a];
                                        break
                                    }
                                return i
                            }

                            function o() {
                                if (!p) return !1;
                                var t = !0,
                                    e = document;
                                try {
                                    var i = e.createElement("object");
                                    i.type = "image/webp", i.innerHTML = "!", e.body.appendChild(i), t = !i.offsetWidth, e.body.removeChild(i)
                                } catch (e) {
                                    t = !1
                                }
                                return t
                            }

                            function r(t, e) {
                                var i = null,
                                    a = 0;
                                return function () {
                                    if (!i) {
                                        var n = Date.now() - a,
                                            o = this,
                                            s = arguments,
                                            r = function () {
                                                a = Date.now(), i = !1, t.apply(o, s)
                                            };
                                        n >= e ? r() : i = setTimeout(r, e)
                                    }
                                }
                            }

                            function l(t) {
                                return null !== t && "object" === (void 0 === t ? "undefined" : d(t))
                            }

                            var d = "function" == typeof Symbol && "symbol" == s(Symbol.iterator) ? function (t) {
                                    return void 0 === t ? "undefined" : s(t)
                                } : function (t) {
                                    return t && "function" == typeof Symbol && t.constructor === Symbol ? "symbol" : void 0 === t ? "undefined" : s(t)
                                },
                                c = function (t, e) {
                                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                                },
                                u = function () {
                                    function t(t, e) {
                                        for (var i = 0; i < e.length; i++) {
                                            var a = e[i];
                                            a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), Object.defineProperty(t, a.key, a)
                                        }
                                    }

                                    return function (e, i, a) {
                                        return i && t(e.prototype, i), a && t(e, a), e
                                    }
                                }(),
                                p = "undefined" != typeof window,
                                m = function () {
                                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;
                                    return p && window.devicePixelRatio || t
                                },
                                f = function () {
                                    if (p) {
                                        var t = !1;
                                        try {
                                            var e = Object.defineProperty({}, "passive", {
                                                get: function () {
                                                    t = !0
                                                }
                                            });
                                            window.addEventListener("test", null, e)
                                        } catch (t) {
                                        }
                                        return t
                                    }
                                }(),
                                h = {
                                    on: function (t, e, i) {
                                        f ? t.addEventListener(e, i, {
                                            passive: !0
                                        }) : t.addEventListener(e, i, !1)
                                    },
                                    off: function (t, e, i) {
                                        t.removeEventListener(e, i)
                                    }
                                },
                                v = function (t, e, i) {
                                    var a = new Image;
                                    a.src = t.src, a.onload = function () {
                                        e({
                                            naturalHeight: a.naturalHeight,
                                            naturalWidth: a.naturalWidth,
                                            src: a.src
                                        })
                                    }, a.onerror = function (t) {
                                        i(t)
                                    }
                                },
                                g = function (t, e) {
                                    return "undefined" != typeof getComputedStyle ? getComputedStyle(t, null).getPropertyValue(e) : t.style[e]
                                },
                                y = function (t) {
                                    return g(t, "overflow") + g(t, "overflow-y") + g(t, "overflow-x")
                                },
                                b = function (t) {
                                    if (p) {
                                        if (!(t instanceof HTMLElement)) return window;
                                        for (var e = t; e && e !== document.body && e !== document.documentElement && e.parentNode;) {
                                            if (/(scroll|auto)/.test(y(e))) return e;
                                            e = e.parentNode
                                        }
                                        return window
                                    }
                                },
                                C = {},
                                w = function () {
                                    function t(e) {
                                        var i = e.el,
                                            a = e.src,
                                            n = e.error,
                                            o = e.loading,
                                            s = e.bindType,
                                            r = e.$parent,
                                            l = e.options,
                                            d = e.elRenderer;
                                        c(this, t), this.el = i, this.src = a, this.error = n, this.loading = o, this.bindType = s, this.attempt = 0, this.naturalHeight = 0, this.naturalWidth = 0, this.options = l, this.initState(), this.performanceData = {
                                            init: Date.now(),
                                            loadStart: null,
                                            loadEnd: null
                                        }, this.rect = i.getBoundingClientRect(), this.$parent = r, this.elRenderer = d, this.render("loading", !1)
                                    }

                                    return u(t, [{
                                        key: "initState",
                                        value: function () {
                                            this.state = {
                                                error: !1,
                                                loaded: !1,
                                                rendered: !1
                                            }
                                        }
                                    }, {
                                        key: "record",
                                        value: function (t) {
                                            this.performanceData[t] = Date.now()
                                        }
                                    }, {
                                        key: "update",
                                        value: function (t) {
                                            var e = t.src,
                                                i = t.loading,
                                                a = t.error;
                                            this.src = e, this.loading = i, this.error = a, this.attempt = 0, this.initState()
                                        }
                                    }, {
                                        key: "getRect",
                                        value: function () {
                                            this.rect = this.el.getBoundingClientRect()
                                        }
                                    }, {
                                        key: "checkInView",
                                        value: function () {
                                            return this.getRect(), this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0
                                        }
                                    }, {
                                        key: "load",
                                        value: function () {
                                            var t = this;
                                            return this.attempt > this.options.attempt - 1 && this.state.error ? void (this.options.silent || console.log("error end")) : this.state.loaded || C[this.src] ? this.render("loaded", !0) : (this.render("loading", !1), this.attempt++, this.record("loadStart"), void v({
                                                src: this.src
                                            }, function (e) {
                                                t.src = e.src, t.naturalHeight = e.naturalHeight, t.naturalWidth = e.naturalWidth, t.state.loaded = !0, t.state.error = !1, t.record("loadEnd"), t.render("loaded", !1), C[t.src] = 1
                                            }, function (e) {
                                                t.state.error = !0, t.state.loaded = !1, t.render("error", !1)
                                            }))
                                        }
                                    }, {
                                        key: "render",
                                        value: function (t, e) {
                                            this.elRenderer(this, t, e)
                                        }
                                    }, {
                                        key: "performance",
                                        value: function () {
                                            var t = "loading",
                                                e = 0;
                                            return this.state.loaded && (t = "loaded", e = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1e3), this.state.error && (t = "error"), {
                                                src: this.src,
                                                state: t,
                                                time: e
                                            }
                                        }
                                    }, {
                                        key: "destroy",
                                        value: function () {
                                            this.el = null, this.src = null, this.error = null, this.loading = null, this.bindType = null, this.attempt = 0
                                        }
                                    }]), t
                                }(),
                                D = "",
                                S = ["scroll", "wheel", "mousewheel", "resize", "animationend", "transitionend", "touchmove"],
                                $ = function (s) {
                                    return function () {
                                        function d(t) {
                                            var e = this,
                                                i = t.preLoad,
                                                a = t.error,
                                                n = t.loading,
                                                s = t.attempt,
                                                l = t.silent,
                                                u = t.scale,
                                                p = t.listenEvents,
                                                f = (t.hasbind, t.filter),
                                                h = t.adapter;
                                            c(this, d), this.ListenerQueue = [], this.options = {
                                                silent: l || !0,
                                                preLoad: i || 1.3,
                                                error: a || D,
                                                loading: n || D,
                                                attempt: s || 3,
                                                scale: m(u),
                                                ListenEvents: p || S,
                                                hasbind: !1,
                                                supportWebp: o(),
                                                filter: f || {},
                                                adapter: h || {}
                                            }, this.initEvent(), this.lazyLoadHandler = r(function () {
                                                var t = !1;
                                                e.ListenerQueue.forEach(function (e) {
                                                    e.state.loaded || (t = e.checkInView()) && e.load()
                                                })
                                            }, 200)
                                        }

                                        return u(d, [{
                                            key: "config",
                                            value: function () {
                                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                                e(this.options, t)
                                            }
                                        }, {
                                            key: "addLazyBox",
                                            value: function (t) {
                                                this.ListenerQueue.push(t), this.options.hasbind = !0, this.initListen(window, !0)
                                            }
                                        }, {
                                            key: "add",
                                            value: function (t, e, n) {
                                                var o = this;
                                                if (i(this.ListenerQueue, function (e) {
                                                    return e.el === t
                                                })) return this.update(t, e), s.nextTick(this.lazyLoadHandler);
                                                var r = this.valueFormatter(e.value),
                                                    l = r.src,
                                                    d = r.loading,
                                                    c = r.error;
                                                s.nextTick(function () {
                                                    var i = a(t, o.options.scale);
                                                    i && (l = i);
                                                    var r = Object.keys(e.modifiers)[0],
                                                        u = void 0;
                                                    r && (u = n.context.$refs[r], u = u ? u.$el || u : document.getElementById(r)), u || (u = b(t));
                                                    var p = new w({
                                                        bindType: e.arg,
                                                        $parent: u,
                                                        el: t,
                                                        loading: d,
                                                        error: c,
                                                        src: l,
                                                        elRenderer: o.elRenderer.bind(o),
                                                        options: o.options
                                                    });
                                                    o.ListenerQueue.push(o.listenerFilter(p)), o.ListenerQueue.length && !o.options.hasbind && (o.options.hasbind = !0, o.initListen(window, !0), u && o.initListen(u, !0), o.lazyLoadHandler(), s.nextTick(function () {
                                                        return o.lazyLoadHandler()
                                                    }))
                                                })
                                            }
                                        }, {
                                            key: "update",
                                            value: function (t, e) {
                                                var i = this,
                                                    a = this.valueFormatter(e.value),
                                                    o = a.src,
                                                    r = a.loading,
                                                    l = a.error,
                                                    d = n(this.ListenerQueue, function (e) {
                                                        return e.el === t
                                                    });
                                                d && d.src !== o && d.update({
                                                    src: o,
                                                    loading: r,
                                                    error: l
                                                }), this.lazyLoadHandler(), s.nextTick(function () {
                                                    return i.lazyLoadHandler()
                                                })
                                            }
                                        }, {
                                            key: "remove",
                                            value: function (e) {
                                                if (e) {
                                                    var i = n(this.ListenerQueue, function (t) {
                                                        return t.el === e
                                                    });
                                                    i && t(this.ListenerQueue, i) && i.destroy(), this.options.hasbind && !this.ListenerQueue.length && this.initListen(window, !1)
                                                }
                                            }
                                        }, {
                                            key: "removeComponent",
                                            value: function (e) {
                                                e && t(this.ListenerQueue, e), this.options.hasbind && !this.ListenerQueue.length && this.initListen(window, !1)
                                            }
                                        }, {
                                            key: "initListen",
                                            value: function (t, e) {
                                                var i = this;
                                                this.options.hasbind = e, this.options.ListenEvents.forEach(function (a) {
                                                    return h[e ? "on" : "off"](t, a, i.lazyLoadHandler)
                                                })
                                            }
                                        }, {
                                            key: "initEvent",
                                            value: function () {
                                                var e = this;
                                                this.Event = {
                                                    listeners: {
                                                        loading: [],
                                                        loaded: [],
                                                        error: []
                                                    }
                                                }, this.$on = function (t, i) {
                                                    e.Event.listeners[t].push(i)
                                                }, this.$once = function (t, i) {
                                                    function a() {
                                                        n.$off(t, a), i.apply(n, arguments)
                                                    }

                                                    var n = e;
                                                    e.$on(t, a)
                                                }, this.$off = function (i, a) {
                                                    return a ? void t(e.Event.listeners[i], a) : void (e.Event.listeners[i] = [])
                                                }, this.$emit = function (t, i, a) {
                                                    e.Event.listeners[t].forEach(function (t) {
                                                        return t(i, a)
                                                    })
                                                }
                                            }
                                        }, {
                                            key: "performance",
                                            value: function () {
                                                var t = [];
                                                return this.ListenerQueue.map(function (e) {
                                                    t.push(e.performance())
                                                }), t
                                            }
                                        }, {
                                            key: "elRenderer",
                                            value: function (t, e, i) {
                                                if (t.el) {
                                                    var a = t.el,
                                                        n = t.bindType,
                                                        o = void 0;
                                                    switch (e) {
                                                        case "loading":
                                                            o = t.loading;
                                                            break;
                                                        case "error":
                                                            o = t.error;
                                                            break;
                                                        default:
                                                            o = t.src
                                                    }
                                                    n ? a.style[n] = "url(" + o + ")" : a.getAttribute("src") !== o && a.setAttribute("src", o), a.setAttribute("lazy", e), this.$emit(e, t, i), this.options.adapter[e] && this.options.adapter[e](t, this.options)
                                                }
                                            }
                                        }, {
                                            key: "listenerFilter",
                                            value: function (t) {
                                                return this.options.filter.webp && this.options.supportWebp && (t.src = this.options.filter.webp(t, this.options)), this.options.filter.customer && (t.src = this.options.filter.customer(t, this.options)), t
                                            }
                                        }, {
                                            key: "valueFormatter",
                                            value: function (t) {
                                                var e = t,
                                                    i = this.options.loading,
                                                    a = this.options.error;
                                                return l(t) && (t.src || this.options.silent || console.error("Vue Lazyload warning: miss src with " + t), e = t.src, i = t.loading || this.options.loading, a = t.error || this.options.error), {
                                                    src: e,
                                                    loading: i,
                                                    error: a
                                                }
                                            }
                                        }]), d
                                    }()
                                },
                                T = function (t) {
                                    return {
                                        props: {
                                            tag: {
                                                type: String,
                                                default: "div"
                                            }
                                        },
                                        render: function (t) {
                                            return !1 === this.show ? t(this.tag) : t(this.tag, null, this.$slots.default)
                                        },
                                        data: function () {
                                            return {
                                                state: {
                                                    loaded: !1
                                                },
                                                rect: {},
                                                show: !1
                                            }
                                        },
                                        mounted: function () {
                                            t.addLazyBox(this), t.lazyLoadHandler()
                                        },
                                        beforeDestroy: function () {
                                            t.removeComponent(this)
                                        },
                                        methods: {
                                            getRect: function () {
                                                this.rect = this.$el.getBoundingClientRect()
                                            },
                                            checkInView: function () {
                                                return this.getRect(), p && this.rect.top < window.innerHeight * t.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * t.options.preLoad && this.rect.right > 0
                                            },
                                            load: function () {
                                                this.show = !0, this.state.loaded = !0, this.$emit("show", this)
                                            }
                                        }
                                    }
                                };
                            return {
                                install: function (t) {
                                    var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                                        a = $(t),
                                        n = new a(i),
                                        o = "2" === t.version.split(".")[0];
                                    t.prototype.$Lazyload = n, i.lazyComponent && t.component("lazy-component", T(n)), o ? t.directive("lazy", {
                                        bind: n.add.bind(n),
                                        update: n.update.bind(n),
                                        componentUpdated: n.lazyLoadHandler.bind(n),
                                        unbind: n.remove.bind(n)
                                    }) : t.directive("lazy", {
                                        bind: n.lazyLoadHandler.bind(n),
                                        update: function (t, i) {
                                            e(this.vm.$refs, this.vm.$els), n.add(this.el, {
                                                modifiers: this.modifiers || {},
                                                arg: this.arg,
                                                value: t,
                                                oldValue: i
                                            }, {
                                                context: this.vm
                                            })
                                        },
                                        unbind: function () {
                                            n.remove(this.el)
                                        }
                                    })
                                }
                            }
                        }()
                    }()
                }, function (t, e, i) {
                    function a(t) {
                        i(101)
                    }

                    var n = i(0)(i(16), i(174), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(103)
                    }

                    var n = i(0)(i(17), i(176), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(107)
                    }

                    var n = i(0)(i(18), i(180), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(99)
                    }

                    var n = i(0)(i(19), i(172), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(114)
                    }

                    var n = i(0)(i(20), i(188), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(125)
                    }

                    var n = i(0)(i(21), i(199), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(110)
                    }

                    var n = i(0)(i(22), i(184), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(117)
                    }

                    var n = i(0)(i(23), i(190), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(109)
                    }

                    var n = i(0)(i(24), i(182), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(94)
                    }

                    var n = i(0)(i(25), i(167), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(95)
                    }

                    var n = i(0)(i(26), i(168), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(120)
                    }

                    var n = i(0)(i(27), i(194), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(122)
                    }

                    var n = i(0)(i(28), i(196), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(115), i(116)
                    }

                    var n = i(0)(i(29), i(189), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(124)
                    }

                    var n = i(0)(i(30), i(198), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(113)
                    }

                    var n = i(0)(i(31), i(187), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(93)
                    }

                    var n = i(0)(i(32), i(166), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(127)
                    }

                    var n = i(0)(i(33), i(201), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(121)
                    }

                    var n = i(0)(i(34), i(195), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(97)
                    }

                    var n = i(0)(i(35), i(170), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(119)
                    }

                    var n = i(0)(i(36), i(193), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(123)
                    }

                    var n = i(0)(i(37), i(197), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(126)
                    }

                    var n = i(0)(i(38), i(200), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    var a = i(0)(i(39), i(192), null, null, null);
                    t.exports = a.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(112)
                    }

                    var n = i(0)(i(41), i(186), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(104)
                    }

                    var n = i(0)(i(43), i(177), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(100)
                    }

                    var n = i(0)(i(44), i(173), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    var a = i(0)(i(45), i(183), null, null, null);
                    t.exports = a.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(96)
                    }

                    var n = i(0)(i(46), i(169), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(108)
                    }

                    var n = i(0)(i(47), i(181), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(118)
                    }

                    var n = i(0)(i(48), i(191), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(102)
                    }

                    var n = i(0)(i(49), i(175), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(106)
                    }

                    var n = i(0)(i(50), i(179), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(111)
                    }

                    var n = i(0)(i(51), i(185), a, null, null);
                    t.exports = n.exports
                }, function (t, e, i) {
                    function a(t) {
                        i(98)
                    }

                    var n = i(0)(i(52), i(171), a, null, null);
                    t.exports = n.exports
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "picker-slot",
                                class: t.classNames,
                                style: t.flexStyle
                            }, [t.divider ? t._e() : i("div", {
                                ref: "wrapper",
                                staticClass: "picker-slot-wrapper",
                                class: {
                                    dragging: t.dragging
                                },
                                style: {
                                    height: t.contentHeight + "px"
                                }
                            }, t._l(t.mutatingValues, function (e) {
                                return i("div", {
                                    staticClass: "picker-item",
                                    class: {
                                        "picker-selected": e === t.currentValue
                                    },
                                    style: {
                                        height: t.itemHeight + "px",
                                        lineHeight: t.itemHeight + "px"
                                    }
                                }, [t._v("\n      " + t._s("object" == (void 0 === e ? "undefined" : s(e)) && e[t.valueKey] ? e[t.valueKey] : e) + "\n    ")])
                            })), t.divider ? i("div", [t._v(t._s(t.content))]) : t._e()])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-indexlist"
                            }, [i("ul", {
                                ref: "content",
                                staticClass: "mint-indexlist-content",
                                style: {
                                    height: t.currentHeight + "px",
                                    "margin-right": t.navWidth + "px"
                                }
                            }, [t._t("default")], 2), i("div", {
                                ref: "nav",
                                staticClass: "mint-indexlist-nav",
                                on: {
                                    touchstart: t.handleTouchStart
                                }
                            }, [i("ul", {
                                staticClass: "mint-indexlist-navlist"
                            }, t._l(t.sections, function (e) {
                                return i("li", {
                                    staticClass: "mint-indexlist-navitem"
                                }, [t._v(t._s(e.index))])
                            }))]), t.showIndicator ? i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.moving,
                                    expression: "moving"
                                }],
                                staticClass: "mint-indexlist-indicator"
                            }, [t._v(t._s(t.currentIndicator))]) : t._e()])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("li", {
                                staticClass: "mint-indexsection"
                            }, [i("p", {
                                staticClass: "mint-indexsection-index"
                            }, [t._v(t._s(t.index))]), i("ul", [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-swipe"
                            }, [i("div", {
                                ref: "wrap",
                                staticClass: "mint-swipe-items-wrap"
                            }, [t._t("default")], 2), i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.showIndicators,
                                    expression: "showIndicators"
                                }],
                                staticClass: "mint-swipe-indicators"
                            }, t._l(t.pages, function (e, a) {
                                return i("div", {
                                    staticClass: "mint-swipe-indicator",
                                    class: {
                                        "is-active": a === t.index
                                    }
                                })
                            }))])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mt-progress"
                            }, [t._t("start"), i("div", {
                                staticClass: "mt-progress-content"
                            }, [i("div", {
                                staticClass: "mt-progress-runway",
                                style: {
                                    height: t.barHeight + "px"
                                }
                            }), i("div", {
                                staticClass: "mt-progress-progress",
                                style: {
                                    width: t.value + "%",
                                    height: t.barHeight + "px"
                                }
                            })]), t._t("end")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("transition", {
                                attrs: {
                                    name: "mint-toast-pop"
                                }
                            }, [i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.visible,
                                    expression: "visible"
                                }],
                                staticClass: "mint-toast",
                                class: t.customClass,
                                style: {
                                    padding: "" === t.iconClass ? "10px" : "20px"
                                }
                            }, ["" !== t.iconClass ? i("i", {
                                staticClass: "mint-toast-icon",
                                class: t.iconClass
                            }) : t._e(), i("span", {
                                staticClass: "mint-toast-text",
                                style: {
                                    "padding-top": "" === t.iconClass ? "0" : "10px"
                                }
                            }, [t._v(t._s(t.message))])])])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("x-cell", {
                                directives: [{
                                    name: "clickoutside",
                                    rawName: "v-clickoutside:touchstart",
                                    value: t.swipeMove,
                                    expression: "swipeMove",
                                    arg: "touchstart"
                                }],
                                ref: "cell",
                                staticClass: "mint-cell-swipe",
                                attrs: {
                                    title: t.title,
                                    icon: t.icon,
                                    label: t.label,
                                    to: t.to,
                                    "is-link": t.isLink,
                                    value: t.value
                                },
                                nativeOn: {
                                    click: function (e) {
                                        t.swipeMove()
                                    },
                                    touchstart: function (e) {
                                        t.startDrag(e)
                                    },
                                    touchmove: function (e) {
                                        t.onDrag(e)
                                    },
                                    touchend: function (e) {
                                        t.endDrag(e)
                                    }
                                }
                            }, [i("div", {
                                ref: "right",
                                staticClass: "mint-cell-swipe-buttongroup",
                                slot: "right"
                            }, t._l(t.right, function (e) {
                                return i("a", {
                                    staticClass: "mint-cell-swipe-button",
                                    style: e.style,
                                    domProps: {
                                        innerHTML: t._s(e.content)
                                    },
                                    on: {
                                        click: function (i) {
                                            i.stopPropagation(), e.handler && e.handler(), t.swipeMove()
                                        }
                                    }
                                })
                            })), i("div", {
                                ref: "left",
                                staticClass: "mint-cell-swipe-buttongroup",
                                slot: "left"
                            }, t._l(t.left, function (e) {
                                return i("a", {
                                    staticClass: "mint-cell-swipe-button",
                                    style: e.style,
                                    domProps: {
                                        innerHTML: t._s(e.content)
                                    },
                                    on: {
                                        click: function (i) {
                                            i.stopPropagation(), e.handler && e.handler(), t.swipeMove()
                                        }
                                    }
                                })
                            })), t._t("default"), t.$slots.title ? i("span", {
                                slot: "title"
                            }, [t._t("title")], 2) : t._e(), t.$slots.icon ? i("span", {
                                slot: "icon"
                            }, [t._t("icon")], 2) : t._e()], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-spinner-triple-bounce"
                            }, [i("div", {
                                staticClass: "mint-spinner-triple-bounce-bounce1",
                                style: t.bounceStyle
                            }), i("div", {
                                staticClass: "mint-spinner-triple-bounce-bounce2",
                                style: t.bounceStyle
                            }), i("div", {
                                staticClass: "mint-spinner-triple-bounce-bounce3",
                                style: t.bounceStyle
                            })])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("transition", {
                                attrs: {
                                    name: "actionsheet-float"
                                }
                            }, [i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.currentValue,
                                    expression: "currentValue"
                                }],
                                staticClass: "mint-actionsheet"
                            }, [i("ul", {
                                staticClass: "mint-actionsheet-list",
                                style: {
                                    "margin-bottom": t.cancelText ? "5px" : "0"
                                }
                            }, t._l(t.actions, function (e, a) {
                                return i("li", {
                                    staticClass: "mint-actionsheet-listitem",
                                    on: {
                                        click: function (i) {
                                            i.stopPropagation(), t.itemClick(e, a)
                                        }
                                    }
                                }, [t._v(t._s(e.name))])
                            })), t.cancelText ? i("a", {
                                staticClass: "mint-actionsheet-button",
                                on: {
                                    click: function (e) {
                                        e.stopPropagation(), t.currentValue = !1
                                    }
                                }
                            }, [t._v(t._s(t.cancelText))]) : t._e()])])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-tab-container",
                                on: {
                                    touchstart: t.startDrag,
                                    mousedown: t.startDrag,
                                    touchmove: t.onDrag,
                                    mousemove: t.onDrag,
                                    mouseleave: t.endDrag,
                                    touchend: t.endDrag
                                }
                            }, [i("div", {
                                ref: "wrap",
                                staticClass: "mint-tab-container-wrap"
                            }, [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement;
                            return (t._self._c || e)("span", {
                                staticClass: "mint-badge",
                                class: ["is-" + t.type, "is-size-" + t.size],
                                style: {
                                    backgroundColor: t.color
                                }
                            }, [t._t("default")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement;
                            return (t._self._c || e)("div", {
                                staticClass: "mint-spinner-snake",
                                style: {
                                    "border-top-color": t.spinnerColor,
                                    "border-left-color": t.spinnerColor,
                                    "border-bottom-color": t.spinnerColor,
                                    height: t.spinnerSize,
                                    width: t.spinnerSize
                                }
                            })
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                class: ["mint-spinner-fading-circle circle-color-" + t._uid],
                                style: {
                                    width: t.spinnerSize,
                                    height: t.spinnerSize
                                }
                            }, t._l(12, function (t) {
                                return i("div", {
                                    staticClass: "mint-spinner-fading-circle-circle",
                                    class: ["is-circle" + (t + 1)]
                                })
                            }))
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("a", {
                                staticClass: "mint-tab-item",
                                class: {
                                    "is-selected": t.$parent.value === t.id
                                },
                                on: {
                                    click: function (e) {
                                        t.$parent.$emit("input", t.id)
                                    }
                                }
                            }, [i("div", {
                                staticClass: "mint-tab-item-icon"
                            }, [t._t("icon")], 2), i("div", {
                                staticClass: "mint-tab-item-label"
                            }, [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("button", {
                                staticClass: "mint-button",
                                class: ["mint-button--" + t.type, "mint-button--" + t.size, {
                                    "is-disabled": t.disabled,
                                    "is-plain": t.plain
                                }],
                                attrs: {
                                    type: t.nativeType,
                                    disabled: t.disabled
                                },
                                on: {
                                    click: t.handleClick
                                }
                            }, [t.icon || t.$slots.icon ? i("span", {
                                staticClass: "mint-button-icon"
                            }, [t._t("icon", [t.icon ? i("i", {
                                staticClass: "mintui",
                                class: "mintui-" + t.icon
                            }) : t._e()])], 2) : t._e(), i("label", {
                                staticClass: "mint-button-text"
                            }, [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("label", {
                                staticClass: "mint-switch"
                            }, [i("input", {
                                directives: [{
                                    name: "model",
                                    rawName: "v-model",
                                    value: t.currentValue,
                                    expression: "currentValue"
                                }],
                                staticClass: "mint-switch-input",
                                attrs: {
                                    type: "checkbox"
                                },
                                domProps: {
                                    checked: Array.isArray(t.currentValue) ? t._i(t.currentValue, null) > -1 : t.currentValue
                                },
                                on: {
                                    change: function (e) {
                                        t.$emit("change", t.currentValue)
                                    },
                                    __c: function (e) {
                                        var i = t.currentValue,
                                            a = e.target,
                                            n = !!a.checked;
                                        if (Array.isArray(i)) {
                                            var o = t._i(i, null);
                                            n ? o < 0 && (t.currentValue = i.concat(null)) : o > -1 && (t.currentValue = i.slice(0, o).concat(i.slice(o + 1)))
                                        } else t.currentValue = n
                                    }
                                }
                            }), i("span", {
                                staticClass: "mint-switch-core"
                            }), i("div", {
                                staticClass: "mint-switch-label"
                            }, [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("header", {
                                staticClass: "mint-header",
                                class: {
                                    "is-fixed": t.fixed
                                }
                            }, [i("div", {
                                staticClass: "mint-header-button is-left"
                            }, [t._t("left")], 2), i("h1", {
                                staticClass: "mint-header-title",
                                domProps: {
                                    textContent: t._s(t.title)
                                }
                            }), i("div", {
                                staticClass: "mint-header-button is-right"
                            }, [t._t("right")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement;
                            return (t._self._c || e)("div", {
                                staticClass: "mint-swipe-item"
                            }, [t._t("default")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("mt-popup", {
                                staticClass: "mint-datetime",
                                attrs: {
                                    position: "bottom"
                                },
                                model: {
                                    value: t.visible,
                                    callback: function (e) {
                                        t.visible = e
                                    },
                                    expression: "visible"
                                }
                            }, [i("mt-picker", {
                                ref: "picker",
                                staticClass: "mint-datetime-picker",
                                attrs: {
                                    slots: t.dateSlots,
                                    "visible-item-count": t.visibleItemCount,
                                    "show-toolbar": ""
                                },
                                on: {
                                    change: t.onChange
                                }
                            }, [i("span", {
                                staticClass: "mint-datetime-action mint-datetime-cancel",
                                on: {
                                    click: function (e) {
                                        t.visible = !1, t.$emit("cancel")
                                    }
                                }
                            }, [t._v(t._s(t.cancelText))]), i("span", {
                                staticClass: "mint-datetime-action mint-datetime-confirm",
                                on: {
                                    click: t.confirm
                                }
                            }, [t._v(t._s(t.confirmText))])])], 1)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement;
                            return (t._self._c || e)("div", {
                                staticClass: "mint-tabbar",
                                class: {
                                    "is-fixed": t.fixed
                                }
                            }, [t._t("default")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-spinner-double-bounce",
                                style: {
                                    width: t.spinnerSize,
                                    height: t.spinnerSize
                                }
                            }, [i("div", {
                                staticClass: "mint-spinner-double-bounce-bounce1",
                                style: {
                                    backgroundColor: t.spinnerColor
                                }
                            }), i("div", {
                                staticClass: "mint-spinner-double-bounce-bounce2",
                                style: {
                                    backgroundColor: t.spinnerColor
                                }
                            })])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-palette-button",
                                class: {
                                    expand: t.expanded, "mint-palette-button-active": t.transforming
                                },
                                on: {
                                    animationend: t.onMainAnimationEnd,
                                    webkitAnimationEnd: t.onMainAnimationEnd,
                                    mozAnimationEnd: t.onMainAnimationEnd
                                }
                            }, [i("div", {
                                staticClass: "mint-sub-button-container"
                            }, [t._t("default")], 2), i("div", {
                                staticClass: "mint-main-button",
                                style: t.mainButtonStyle,
                                on: {
                                    touchstart: t.toggle
                                }
                            }, [t._v("\n    " + t._s(t.content) + "\n  ")])])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("a", {
                                staticClass: "mint-cell",
                                attrs: {
                                    href: t.href
                                }
                            }, [t.isLink ? i("span", {
                                staticClass: "mint-cell-mask"
                            }) : t._e(), i("div", {
                                staticClass: "mint-cell-left"
                            }, [t._t("left")], 2), i("div", {
                                staticClass: "mint-cell-wrapper"
                            }, [i("div", {
                                staticClass: "mint-cell-title"
                            }, [t._t("icon", [t.icon ? i("i", {
                                staticClass: "mintui",
                                class: "mintui-" + t.icon
                            }) : t._e()]), t._t("title", [i("span", {
                                staticClass: "mint-cell-text",
                                domProps: {
                                    textContent: t._s(t.title)
                                }
                            }), t.label ? i("span", {
                                staticClass: "mint-cell-label",
                                domProps: {
                                    textContent: t._s(t.label)
                                }
                            }) : t._e()])], 2), i("div", {
                                staticClass: "mint-cell-value",
                                class: {
                                    "is-link": t.isLink
                                }
                            }, [t._t("default", [i("span", {
                                domProps: {
                                    textContent: t._s(t.value)
                                }
                            })])], 2)]), i("div", {
                                staticClass: "mint-cell-right"
                            }, [t._t("right")], 2), t.isLink ? i("i", {
                                staticClass: "mint-cell-allow-right"
                            }) : t._e()])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-msgbox-wrapper"
                            }, [i("transition", {
                                attrs: {
                                    name: "msgbox-bounce"
                                }
                            }, [i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.value,
                                    expression: "value"
                                }],
                                staticClass: "mint-msgbox"
                            }, ["" !== t.title ? i("div", {
                                staticClass: "mint-msgbox-header"
                            }, [i("div", {
                                staticClass: "mint-msgbox-title"
                            }, [t._v(t._s(t.title))])]) : t._e(), "" !== t.message ? i("div", {
                                staticClass: "mint-msgbox-content"
                            }, [i("div", {
                                staticClass: "mint-msgbox-message",
                                domProps: {
                                    innerHTML: t._s(t.message)
                                }
                            }), i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.showInput,
                                    expression: "showInput"
                                }],
                                staticClass: "mint-msgbox-input"
                            }, [i("input", {
                                directives: [{
                                    name: "model",
                                    rawName: "v-model",
                                    value: t.inputValue,
                                    expression: "inputValue"
                                }],
                                ref: "input",
                                attrs: {
                                    placeholder: t.inputPlaceholder
                                },
                                domProps: {
                                    value: t.inputValue
                                },
                                on: {
                                    input: function (e) {
                                        e.target.composing || (t.inputValue = e.target.value)
                                    }
                                }
                            }), i("div", {
                                staticClass: "mint-msgbox-errormsg",
                                style: {
                                    visibility: t.editorErrorMessage ? "visible" : "hidden"
                                }
                            }, [t._v(t._s(t.editorErrorMessage))])])]) : t._e(), i("div", {
                                staticClass: "mint-msgbox-btns"
                            }, [i("button", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.showCancelButton,
                                    expression: "showCancelButton"
                                }],
                                class: [t.cancelButtonClasses],
                                on: {
                                    click: function (e) {
                                        t.handleAction("cancel")
                                    }
                                }
                            }, [t._v(t._s(t.cancelButtonText))]), i("button", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.showConfirmButton,
                                    expression: "showConfirmButton"
                                }],
                                class: [t.confirmButtonClasses],
                                on: {
                                    click: function (e) {
                                        t.handleAction("confirm")
                                    }
                                }
                            }, [t._v(t._s(t.confirmButtonText))])])])])], 1)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("x-cell", {
                                directives: [{
                                    name: "clickoutside",
                                    rawName: "v-clickoutside",
                                    value: t.doCloseActive,
                                    expression: "doCloseActive"
                                }],
                                staticClass: "mint-field",
                                class: [{
                                    "is-textarea": "textarea" === t.type,
                                    "is-nolabel": !t.label
                                }],
                                attrs: {
                                    title: t.label
                                }
                            }, ["textarea" === t.type ? i("textarea", {
                                directives: [{
                                    name: "model",
                                    rawName: "v-model",
                                    value: t.currentValue,
                                    expression: "currentValue"
                                }],
                                ref: "textarea",
                                staticClass: "mint-field-core",
                                attrs: {
                                    placeholder: t.placeholder,
                                    rows: t.rows,
                                    disabled: t.disabled,
                                    readonly: t.readonly
                                },
                                domProps: {
                                    value: t.currentValue
                                },
                                on: {
                                    change: function (e) {
                                        t.$emit("change", t.currentValue)
                                    },
                                    input: function (e) {
                                        e.target.composing || (t.currentValue = e.target.value)
                                    }
                                }
                            }) : i("input", {
                                ref: "input",
                                staticClass: "mint-field-core",
                                attrs: {
                                    placeholder: t.placeholder,
                                    number: "number" === t.type,
                                    type: t.type,
                                    disabled: t.disabled,
                                    readonly: t.readonly
                                },
                                domProps: {
                                    value: t.currentValue
                                },
                                on: {
                                    change: function (e) {
                                        t.$emit("change", t.currentValue)
                                    },
                                    focus: function (e) {
                                        t.active = !0
                                    },
                                    input: t.handleInput
                                }
                            }), t.disableClear ? t._e() : i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.currentValue && "textarea" !== t.type && t.active,
                                    expression: "currentValue && type !== 'textarea' && active"
                                }],
                                staticClass: "mint-field-clear",
                                on: {
                                    click: t.handleClear
                                }
                            }, [i("i", {
                                staticClass: "mintui mintui-field-error"
                            })]), t.state ? i("span", {
                                staticClass: "mint-field-state",
                                class: ["is-" + t.state]
                            }, [i("i", {
                                staticClass: "mintui",
                                class: ["mintui-field-" + t.state]
                            })]) : t._e(), i("div", {
                                staticClass: "mint-field-other"
                            }, [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement;
                            return (t._self._c || e)("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.$parent.swiping || t.id === t.$parent.currentActive,
                                    expression: "$parent.swiping || id === $parent.currentActive"
                                }],
                                staticClass: "mint-tab-container-item"
                            }, [t._t("default")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("span", [i(t.spinner, {
                                tag: "component"
                            })], 1)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-radiolist",
                                on: {
                                    change: function (e) {
                                        t.$emit("change", t.currentValue)
                                    }
                                }
                            }, [i("label", {
                                staticClass: "mint-radiolist-title",
                                domProps: {
                                    textContent: t._s(t.title)
                                }
                            }), t._l(t.options, function (e) {
                                return i("x-cell", [i("label", {
                                    staticClass: "mint-radiolist-label",
                                    slot: "title"
                                }, [i("span", {
                                    staticClass: "mint-radio",
                                    class: {
                                        "is-right": "right" === t.align
                                    }
                                }, [i("input", {
                                    directives: [{
                                        name: "model",
                                        rawName: "v-model",
                                        value: t.currentValue,
                                        expression: "currentValue"
                                    }],
                                    staticClass: "mint-radio-input",
                                    attrs: {
                                        type: "radio",
                                        disabled: e.disabled
                                    },
                                    domProps: {
                                        value: e.value || e,
                                        checked: t._q(t.currentValue, e.value || e)
                                    },
                                    on: {
                                        __c: function (i) {
                                            t.currentValue = e.value || e
                                        }
                                    }
                                }), i("span", {
                                    staticClass: "mint-radio-core"
                                })]), i("span", {
                                    staticClass: "mint-radio-label",
                                    domProps: {
                                        textContent: t._s(e.label || e)
                                    }
                                })])])
                            })], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("transition", {
                                attrs: {
                                    name: "mint-indicator"
                                }
                            }, [i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.visible,
                                    expression: "visible"
                                }],
                                staticClass: "mint-indicator"
                            }, [i("div", {
                                staticClass: "mint-indicator-wrapper",
                                style: {
                                    padding: t.text ? "20px" : "15px"
                                }
                            }, [i("spinner", {
                                staticClass: "mint-indicator-spin",
                                attrs: {
                                    type: t.convertedSpinnerType,
                                    size: 32
                                }
                            }), i("span", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.text,
                                    expression: "text"
                                }],
                                staticClass: "mint-indicator-text"
                            }, [t._v(t._s(t.text))])], 1), i("div", {
                                staticClass: "mint-indicator-mask",
                                on: {
                                    touchmove: function (t) {
                                        t.stopPropagation(), t.preventDefault()
                                    }
                                }
                            })])])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("transition", {
                                attrs: {
                                    name: t.currentTransition
                                }
                            }, [i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.currentValue,
                                    expression: "currentValue"
                                }],
                                staticClass: "mint-popup",
                                class: [t.position ? "mint-popup-" + t.position : ""]
                            }, [t._t("default")], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-loadmore"
                            }, [i("div", {
                                staticClass: "mint-loadmore-content",
                                class: {
                                    "is-dropped": t.topDropped || t.bottomDropped
                                },
                                style: {
                                    transform: "translate3d(0, " + t.translate + "px, 0)"
                                }
                            }, [t._t("top", [t.topMethod ? i("div", {
                                staticClass: "mint-loadmore-top"
                            }, ["loading" === t.topStatus ? i("spinner", {
                                staticClass: "mint-loadmore-spinner",
                                attrs: {
                                    size: 20,
                                    type: "fading-circle"
                                }
                            }) : t._e(), i("span", {
                                staticClass: "mint-loadmore-text"
                            }, [t._v(t._s(t.topText))])], 1) : t._e()]), t._t("default"), t._t("bottom", [t.bottomMethod ? i("div", {
                                staticClass: "mint-loadmore-bottom"
                            }, ["loading" === t.bottomStatus ? i("spinner", {
                                staticClass: "mint-loadmore-spinner",
                                attrs: {
                                    size: 20,
                                    type: "fading-circle"
                                }
                            }) : t._e(), i("span", {
                                staticClass: "mint-loadmore-text"
                            }, [t._v(t._s(t.bottomText))])], 1) : t._e()])], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mt-range",
                                class: {
                                    "mt-range--disabled": t.disabled
                                }
                            }, [t._t("start"), i("div", {
                                ref: "content",
                                staticClass: "mt-range-content"
                            }, [i("div", {
                                staticClass: "mt-range-runway",
                                style: {
                                    "border-top-width": t.barHeight + "px"
                                }
                            }), i("div", {
                                staticClass: "mt-range-progress",
                                style: {
                                    width: t.progress + "%",
                                    height: t.barHeight + "px"
                                }
                            }), i("div", {
                                ref: "thumb",
                                staticClass: "mt-range-thumb",
                                style: {
                                    left: t.progress + "%"
                                }
                            })]), t._t("end")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement;
                            return (t._self._c || e)("div", {
                                staticClass: "mint-navbar",
                                class: {
                                    "is-fixed": t.fixed
                                }
                            }, [t._t("default")], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-checklist",
                                class: {
                                    "is-limit": t.max <= t.currentValue.length
                                },
                                on: {
                                    change: function (e) {
                                        t.$emit("change", t.currentValue)
                                    }
                                }
                            }, [i("label", {
                                staticClass: "mint-checklist-title",
                                domProps: {
                                    textContent: t._s(t.title)
                                }
                            }), t._l(t.options, function (e) {
                                return i("x-cell", [i("label", {
                                    staticClass: "mint-checklist-label",
                                    slot: "title"
                                }, [i("span", {
                                    staticClass: "mint-checkbox",
                                    class: {
                                        "is-right": "right" === t.align
                                    }
                                }, [i("input", {
                                    directives: [{
                                        name: "model",
                                        rawName: "v-model",
                                        value: t.currentValue,
                                        expression: "currentValue"
                                    }],
                                    staticClass: "mint-checkbox-input",
                                    attrs: {
                                        type: "checkbox",
                                        disabled: e.disabled
                                    },
                                    domProps: {
                                        value: e.value || e,
                                        checked: Array.isArray(t.currentValue) ? t._i(t.currentValue, e.value || e) > -1 : t.currentValue
                                    },
                                    on: {
                                        __c: function (i) {
                                            var a = t.currentValue,
                                                n = i.target,
                                                o = !!n.checked;
                                            if (Array.isArray(a)) {
                                                var s = e.value || e,
                                                    r = t._i(a, s);
                                                o ? r < 0 && (t.currentValue = a.concat(s)) : r > -1 && (t.currentValue = a.slice(0, r).concat(a.slice(r + 1)))
                                            } else t.currentValue = o
                                        }
                                    }
                                }), i("span", {
                                    staticClass: "mint-checkbox-core"
                                })]), i("span", {
                                    staticClass: "mint-checkbox-label",
                                    domProps: {
                                        textContent: t._s(e.label || e)
                                    }
                                })])])
                            })], 2)
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "mint-search"
                            }, [i("div", {
                                staticClass: "mint-searchbar"
                            }, [i("div", {
                                staticClass: "mint-searchbar-inner"
                            }, [i("i", {
                                staticClass: "mintui mintui-search"
                            }), i("input", {
                                directives: [{
                                    name: "model",
                                    rawName: "v-model",
                                    value: t.currentValue,
                                    expression: "currentValue"
                                }],
                                ref: "input",
                                staticClass: "mint-searchbar-core",
                                attrs: {
                                    type: "search",
                                    placeholder: t.placeholder
                                },
                                domProps: {
                                    value: t.currentValue
                                },
                                on: {
                                    click: function (e) {
                                        t.visible = !0
                                    },
                                    input: function (e) {
                                        e.target.composing || (t.currentValue = e.target.value)
                                    }
                                }
                            })]), i("a", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.visible,
                                    expression: "visible"
                                }],
                                staticClass: "mint-searchbar-cancel",
                                domProps: {
                                    textContent: t._s(t.cancelText)
                                },
                                on: {
                                    click: function (e) {
                                        t.visible = !1, t.currentValue = ""
                                    }
                                }
                            })]), i("div", {
                                directives: [{
                                    name: "show",
                                    rawName: "v-show",
                                    value: t.show || t.currentValue,
                                    expression: "show || currentValue"
                                }],
                                staticClass: "mint-search-list"
                            }, [i("div", {
                                staticClass: "mint-search-list-warp"
                            }, [t._t("default", t._l(t.result, function (t, e) {
                                return i("x-cell", {
                                    key: e,
                                    attrs: {
                                        title: t
                                    }
                                })
                            }))], 2)])])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e) {
                    t.exports = {
                        render: function () {
                            var t = this,
                                e = t.$createElement,
                                i = t._self._c || e;
                            return i("div", {
                                staticClass: "picker",
                                class: {
                                    "picker-3d": t.rotateEffect
                                }
                            }, [t.showToolbar ? i("div", {
                                staticClass: "picker-toolbar"
                            }, [t._t("default")], 2) : t._e(), i("div", {
                                staticClass: "picker-items"
                            }, [t._l(t.slots, function (e) {
                                return i("picker-slot", {
                                    attrs: {
                                        valueKey: t.valueKey,
                                        values: e.values || [],
                                        "text-align": e.textAlign || "center",
                                        "visible-item-count": t.visibleItemCount,
                                        "class-name": e.className,
                                        flex: e.flex,
                                        "rotate-effect": t.rotateEffect,
                                        divider: e.divider,
                                        content: e.content,
                                        itemHeight: t.itemHeight,
                                        "default-index": e.defaultIndex
                                    },
                                    model: {
                                        value: t.values[e.valueIndex],
                                        callback: function (i) {
                                            var a = t.values,
                                                n = e.valueIndex;
                                            Array.isArray(a) ? a.splice(n, 1, i) : t.values[e.valueIndex] = i
                                        },
                                        expression: "values[slot.valueIndex]"
                                    }
                                })
                            }), i("div", {
                                staticClass: "picker-center-highlight",
                                style: {
                                    height: t.itemHeight + "px",
                                    marginTop: -t.itemHeight / 2 + "px"
                                }
                            })], 2)])
                        },
                        staticRenderFns: []
                    }
                }, function (t, e, i) {
                    t.exports = i(14)
                }])
            })
        }).call(e, i(14)(t))
    }, function (t, e, a) {
        Vue.prototype.pageStatus = {
            OP_INIT: 0,
            OP_ADD: 1,
            OP_NOTEDIT_LIST: 2,
            OP_NOTEDIT_CARD: 3,
            OP_EDIT: 4,
            OP_REVISE: 5,
            OP_REFADD_LIST: 6,
            OP_REFADD_CARD: 7,
            OP_HALFEDIT_CARD: 90
        }, Vue.prototype.bizStatus = {
            NOPASS: 0,
            CHECKPASS: 1,
            CHECKGOING: 2,
            COMMIT: 3,
            DELETE: 4,
            CX: 5,
            ENDED: 6,
            FREEZE: 7,
            FREE: 8
        }, Vue.prototype.bizStatusName = {
            NOPASS: "审批未通过",
            CHECKPASS: "审批通过",
            CHECKGOING: "审批进行中",
            COMMIT: "提交状态",
            DELETE: "作废状态",
            CX: "冲销状态",
            ENDED: "终止(结算）态",
            FREEZE: "冻结状态",
            FREE: "自由态"
        }, Vue.prototype.DataType = {
            TEXT: 0,
            INTEGER: 1,
            NUMBER: 2,
            DATE: 3,
            BOOLEAN: 4,
            REF: 5,
            SELECT: 6,
            DEFDOC: 7,
            TIME: 8,
            TEXTAREA: 9,
            ATTACHMENT: 11,
            DATETIME: 15,
            DEFHTML: 16
        }, Vue.prototype.ForegroundColor = {
            DEFAULT: -1,
            BLACK: 0,
            WHITE: 1,
            LIGHT_GRAY: 2,
            GRAY: 3,
            DARK_GREY: 4,
            RED: 5,
            PINK: 6,
            ORANGE: 7,
            YELLOW: 8,
            GREEN: 9,
            PRUNOSUS: 10,
            BLUE_GREEN: 11,
            BLUE: 12,
            DARK_BLUE: 13
        }, Vue.prototype.constants = {
            popupCount: 0,
            FIELD_STATUS_NORMAL: 0,
            FIELD_STATUS_COMPLETE: 1,
            FIELD_STATUS_DANGER: 2,
            FIELD_STATUS_ERROR: 3,
            SYS_FIELD_STATUS_NORMAL: 90,
            SYS_FIELD_STATUS_COMPLETE: 91,
            SYS_FIELD_STATUS_DANGER: 92,
            SYS_FIELD_STATUS_ERROR: 93
        }, Vue.prototype.hasEvent = function (t) {
            var e = this._events,
                e = e[t];
            return !!e
        }, Vue.prototype.apply = function (t, e) {
            var i = this._events,
                i = i[t];
            return i ? i[0].apply(this, e) : ""
        }, Vue.prototype.contains = function (t, e) {
            if ("string" == typeof t && "ALL" == t) return !0;
            for (i in t)
                if (t[i] == e) return !0;
            return !1
        }, Vue.prototype.processText = function (t, e) {
            return t[e.itemkey] ? t[e.itemkey] : "--"
        }, Vue.prototype.processNumber = function (t, e) {
            var i = t[e.itemkey];
            if (i += "", i.indexOf(".") != i.lastIndexOf(".")) return "";
            if ("" != i) {
                "Number" != typeof i && (-1 != i.indexOf(",") && (i = i.replace(/,/g, "")), i = Number(i));
                if (!/^(-?\d+)(\.\d+)?$/.test(i)) return "";
                if (i.datatype != Vue.prototype.DataType.INTEGER) {
                    var a, n;
                    if (e.reftype) {
                        var o = e.reftype.split(",");
                        a = Number(o[0]);
                        var n = o[5];
                        return a ? (i = parseFloat(i), i = i.toFixed(a)) : (i = parseFloat(i), i = i.toFixed(2)), "Y" == n && (i = i.replace(/(\d)(?=(\d{3})+\.)/g, "$1,")), i + "" == "NaN" && (i = ""), i
                    }
                    return i
                }
                i = i.toFixed(0)
            }
        }, Vue.prototype.processSelect = function (t, e) {
            if (1 != e.editflag && (null == t[e.itemkey] || void 0 == t[e.itemkey])) return "不需要输入";
            var i = e.reftype.split(","),
                a = null;
            if ("I" == i[0])
                if (null != t[e.itemkey] && void 0 != t[e.itemkey] && "" + t[e.itemkey] != "") {
                    var n = t[e.itemkey];
                    if (void 0 != t[e.itemkey] || null != t[e.itemkey])
                        if ("string" == typeof n && n.indexOf(",")) {
                            var o = n.split(",");
                            a = "";
                            for (var s = 0; s < o.length; s++) a += "," + i[1 + Number(o[s])];
                            a = a.substring(1)
                        } else n = Number(n), a = YC.Utils.isEmpty(i[1 + n]) ? "请选择" : i[1 + n];
                    else a = "请选择"
                } else a = "请选择";
            else if ("IX" == i[0]) {
                var n = t[e.itemkey];
                if (n && "string" == typeof n && n.indexOf(",") > 0) {
                    var o = n.split(",");
                    a = "";
                    for (var s = 0; s < o.length; s++)
                        for (var r = 1; r < i.length; r++) {
                            var l = i[r],
                                d = l.split("=");
                            if (d[1] == o[s]) {
                                a += "," + d[0];
                                break
                            }
                        }
                    a = a.substring(1)
                } else
                    for (var s = 1; s < i.length; s++) {
                        var l = i[s],
                            d = l.split("=");
                        if (d[1] == t[e.itemkey]) {
                            a = d[0];
                            break
                        }
                    }
                null == a && (a = "请选择")
            } else "S" == i[0] && (a = YC.Utils.isEmpty(t[e.itemkey]) ? "请选择" : t[e.itemkey]);
            return "请选择" == a && (a = 1 == e.nullflag ? "<em>必填</em>" : ""), a
        }, Vue.prototype.getAllSelectItem = function (t) {
            var e = new Array;
            if ("6" == t.datatype) {
                var i = t.reftype.split(",");
                new Array;
                if ("I" == i[0])
                    for (var a = 1; a < i.length; a++) {
                        var n = {
                            showText: i[a],
                            index: a - 1
                        };
                        e.push(n)
                    } else if ("IX" == i[0])
                    for (var a = 1; a < i.length; a++) {
                        var o = i[a].split("="),
                            n = {
                                showText: o[0],
                                index: o[1]
                            };
                        e.push(n)
                    } else if ("S" == i[0])
                    for (var a = 1; a < i.length; a++) {
                        var n = {
                            showText: i[a],
                            index: i[a]
                        };
                        e.push(n)
                    }
                return e
            }
        }, Vue.prototype.processDate = function (t, e) {
            return t[e.itemkey] ? new Date(t[e.itemkey]).format("yyyy-MM-dd") : 1 != e.editflag ? "--" : t[e.itemkey]
        }, Vue.prototype.processDateTime = function (t, e) {
            return t[e.itemkey] ? e.format ? new Date(t[e.itemkey].replace(/-/g, "/")).format(e.format) : new Date(t[e.itemkey].replace(/-/g, "/")).format("yyyy-MM-dd hh:mm:ss") : 1 != e.editflag ? "--" : t[e.itemkey]
        }, Vue.prototype.processBoolean = function (t, e) {
            return "Y" == t[e.itemkey] || "N" != t[e.itemkey] && null
        }, Vue.prototype.processRef = function (t, e, i, a) {
            return i ? t[e.itemkey] && "请选择" != t[e.itemkey].name ? t[e.itemkey].name : a ? 0 == e.editflag ? "不需要输入" : 1 == e.nullflag ? "<em>必填</em>" : "" : "" : t[e.itemkey] && "请选择" != t[e.itemkey] ? t[e.itemkey] : a ? 0 == e.editflag ? "不需要输入" : 1 == e.nullflag ? "<em>必填</em>" : "" : ""
        }, Vue.prototype.$onInputKeyDown = function (t) {
            13 == t.keyCode && YC.Utils.isMobile() && (t.stopImmediatePropagation(), t.preventDefault(), cordova.plugins.Keyboard.close())
        }, Vue._popupCount = 0, Vue.prototype.$removePopupClass = function () {
            var t = document.body,
                e = t.getAttribute("class") ? t.getAttribute("class") : "",
                i = e.indexOf("is-fixed");
            i >= 0 && 1 == Vue._popupCount && (i >= 1 ? (e = e.replace(" is-fixed", ""), e = e.replace(" is-hidden", "")) : (e = e.replace("is-fixed", ""), e = e.replace("is-hidden", ""))), t.setAttribute("class", e), 1 == --Vue._popupCount && (e = e.replace("is-double", "is-hidden"), t.setAttribute("class", e))
        }, Vue.prototype.$addPopupClass = function () {
            var t = document.body,
                e = t.getAttribute("class") ? t.getAttribute("class") : "";
            if (e.indexOf("is-fixed") < 0) {
                var i = "is-fixed";
                e.length > 0 && (i = " is-fixed"), t.setAttribute("class", e + i)
            } else e = e.replace(" is-hidden", ""), t.setAttribute("class", e);
            2 == ++Vue._popupCount && t.setAttribute("class", e + " is-double")
        }, Vue._indicatorInstance = null, Vue.$indicator = {
            open: function (t) {
                var e = Vue._indicatorInstance;
                if (!e) {
                    var i = document.createElement("div");
                    document.body.appendChild(i), e = new Vue(Vue.yytmIndicator), e.$mount(i), Vue._indicatorInstance = e
                }
                e.visible || (void 0 === t ? (e.text = "", e.spinnerType = "snake") : (e.text = "string" == typeof t ? t : t.text || "", e.spinnerType = t.spinnerType || "snake"), Vue.nextTick(function () {
                    e.visible = !0
                }))
            },
            close: function () {
                var t = Vue._indicatorInstance;
                t && (t.visible = !1)
            }
        }, Vue.prototype.$indicator = Vue.$indicator, Vue.directive("clickoutside", {
            bind: function (t, e, i) {
                var a = function (e) {
                    i.context && !t.contains(e.target) && i.context[t["@@clickoutsideContext"].methodName]()
                };
                t["@@clickoutsideContext"] = {
                    documentHandler: a,
                    methodName: e.expression,
                    arg: e.arg || "click"
                }, document.addEventListener(t["@@clickoutsideContext"].arg, a)
            },
            unbind: function (t) {
                document.removeEventListener(t["@@clickoutsideContext"].arg, t["@@clickoutsideContext"].documentHandler)
            }
        }), Vue.directive("focus", {
            inserted: function (t) {
                t.focus()
            }
        }), Vue.filter("date-format", function (t, e) {
            return t && e ? (t = t.replace(/-/g, "/"), new Date(t).format(e)) : ""
        }), Vue.filter("date-str", function (t) {
            if (!t) return "";
            t = t.replace(/-/g, "/");
            var e = (new Date(t), new Date),
                i = e.format("yyyy-MM-dd");
            if (t.substring(0, 10) == i.substring(0, 10)) return "今天";
            var a = new Date;
            a.setTime((new Date).getTime() - 864e5);
            var n = new Date;
            return n.setTime((new Date).getTime() - 1728e5), t.substring(0, 10) == a.format("yyyy-MM-dd") ? "昨天" : t.substring(0, 10) == n.format("yyyy-MM-dd") ? "前天" : t.substring(0, 4) == i.substring(0, 4) ? t.replace(/\//g, "-").substring(5, 10) : t.replace(/\//g, "-").substring(0, 10)
        }), Vue.filter("date-duration", function (t) {
            var e = new Date(Date.parse(t.replace(/-/g, "/"))),
                i = new Date,
                a = i.format("yyyy-MM-dd");
            if (t.substring(0, 10) == a.substring(0, 10)) {
                var n = parseInt((i.getTime() - e.getTime()) / 1e3 / 60);
                if (n < 1) return "刚刚";
                if (n < 60) return n + "分钟前";
                var o = parseInt(n / 60);
                return o + "小时前"
            }
            var s = new Date;
            s.setTime((new Date).getTime() - 864e5);
            var r = new Date;
            return r.setTime((new Date).getTime() - 1728e5), t.substring(0, 10) == s.format("yyyy-MM-dd") ? "昨天" : t.substring(0, 10) == r.format("yyyy-MM-dd") ? "前天" : parseInt((i.getTime() - e.getTime()) / 1e3 / 60 / 60 / 24) + "天前"
        }), Vue.filter("substring", function (t, e, i) {
            return t ? "string" != typeof t ? "" : t.substring(e, i) : ""
        }), Vue.filter("isnull-show", function (t, e) {
            return YC.Utils.isEmpty(t) ? e : t
        }), Vue.filter("split", function (t, e, i) {
            return t ? t.split(e)[i] : ""
        }), Vue.filter("date-year-format", function (t) {
            if (!t) return "--";
            var e = new Date(Date.parse(t.replace(/-/g, "/")));
            return e.getFullYear() !== (new Date).getFullYear() ? e.format("yyyy年MM月dd日") : e.format("MM月dd日")
        }), Vue.config.errorHandler = function (t, e, i) {
            if ("object" == typeof yytDebug) {
                var a = {
                    error: {
                        stack: t.stack
                    },
                    lineno: t.line,
                    colno: t.column,
                    message: t.message
                };
                yytDebug.sendError(a)
            }
            console.error(t)
        };
        var n = {};
        n.FieldVar = function (t) {
            this.value = t
        },
            function () {
                var t = new n.EXPObject;
                return t.append(arguments, null), t
            }.parse = function (t) {
                var e = new n.EXPObject;
                $.extend(e, JSON.parse(t))
            };
        n.EXPObject = function () {
            this.complexConditions = [], this.logicalOperator = null
        }, n.EXPObject.prototype.and = function () {
            return this.append(arguments, n.CONSTANT.LOGICALOPERATOR.AND), this
        }, n.EXPObject.prototype.or = function () {
            return this.append(arguments, n.CONSTANT.LOGICALOPERATOR.OR), this
        }, n.EXPObject.prototype.toString = function () {
            return JSON.stringify(this)
        }, n.EXPObject.prototype.append = function (t, e) {
            if (1 == t.length && t[0] instanceof n.EXPObject) t[0].logicalOperator = e, t[0].subCond = !0, this.complexConditions.push(t[0]);
            else if (t.length > 1) {
                var i = t[0],
                    a = t[1];
                a && (a = a.replace("<", "&lt;").replace(">", "&gt;"));
                var o = t[2] instanceof n.FieldVar ? t[2].value : t[2],
                    s = null != t[3] && void 0 != t[3] ? t[3] : "object" == typeof o ? null : o,
                    r = t[4] || n.Util.getValueType(t[2]),
                    e = t[5] || e,
                    l = new n.EXPAtom(i, a, o, s, r, e);
                this.complexConditions.push(l)
            }
            return this
        }, n.EXPAtom = function (t, e, i, a, o, s) {
            this.field = t, this.value = i, this.operator = e, this.valueType = o || n.CONSTANT.VALUETYPE.STRING, this.defaultValue = a, this.logicalOperator = s
        }, n.SQLObject = function () {
            this.selectArg = [], this.fromArg = "", this.whereArg = null
        }, n.SQLObject.prototype.select = function () {
            var t;
            1 == arguments.length && arguments[0] instanceof Array ? t = arguments[0] : arguments.length > 0 && (t = arguments);
            for (var e = 0; e < t.length; e++) this.selectArg.push(t[e]);
            return this
        }, n.SQLObject.prototype.from = function () {
            if (1 != arguments.length || (arguments[0], 0)) throw "error";
            return this.fromArg = arguments[0].toString(), this
        }, n.SQLObject.prototype.where = function () {
            if (!(1 == arguments.length && arguments[0] instanceof n.EXPObject)) throw "error";
            return this.whereArg = arguments[0], this
        }, n.FUNCObject = function () {
            this.isFunc = !0, this.funcName = "", this.funcArguments = []
        }, n.CONSTANT = {}, n.CONSTANT.VALUETYPE = {
            STRING: "String",
            INTEGER: "Integer",
            DATAFIELD: "DataField"
        }, n.CONSTANT.LOGICALOPERATOR = {
            AND: "97110100",
            OR: "111114"
        }, n.Util = {}, n.Util.getValueType = function (t) {
            var e = typeof t;
            return "number" == e ? n.CONSTANT.VALUETYPE.INTEGER : "string" == e ? n.CONSTANT.VALUETYPE.STRING : "object" == e && t instanceof Array ? n.Util.getValueType(t[0]) : t instanceof n.FieldVar ? n.CONSTANT.VALUETYPE.DATAFIELD : void 0
        },
            function () {
                function e() {
                    for (var t = navigator.userAgent, e = ["Android", "iPhone", "Windows Phone", "iPad", "iPod"], i = !0, a = 0; a < e.length; a++)
                        if (t.indexOf(e[a]) > 0) {
                            i = !1;
                            break
                        }
                    return i
                }

                function i(t) {
                    if (s ? t.disabled : t.el.disabled) return !1;
                    var e = t.tapObj;
                    return t.time < 300 && Math.abs(e.distanceX) < 10 && Math.abs(e.distanceY) < 10
                }

                function a(t, e) {
                    var i = t.touches[0],
                        a = e.tapObj;
                    a.pageX = i.pageX, a.pageY = i.pageY, a.clientX = i.clientX, a.clientY = i.clientY, e.time = +new Date
                }

                function n(t, e) {
                    var a = t.changedTouches[0],
                        n = e.tapObj;
                    e.time = +new Date - e.time, n.distanceX = n.pageX - a.pageX, n.distanceY = n.pageY - a.pageY, i(e) && e.handler(t)
                }

                var o = {},
                    s = !1,
                    r = {
                        isFn: !0,
                        acceptStatement: !0,
                        update: function (t) {
                            var i = this;
                            if (i.tapObj = {}, "function" != typeof t && "a" !== i.el.tagName.toLocaleLowerCase()) return console.error('The param of directive "v-tap" must be a function!');
                            i.handler = function (e) {
                                if (e.tapObj = i.tapObj, i.el.href && !i.modifiers.prevent) return window.location = i.el.href;
                                t.call(i, e)
                            }, e() ? i.el.addEventListener("click", function (t) {
                                if (i.el.href && !i.modifiers.prevent) return window.location = i.el.href;
                                i.handler.call(i, t)
                            }, !1) : (i.el.addEventListener("touchstart", function (t) {
                                i.modifiers.stop && t.stopPropagation(), i.modifiers.prevent && t.preventDefault(), a(t, i)
                            }, !1), i.el.addEventListener("touchend", function (t) {
                                try {
                                    Object.defineProperty(t, "currentTarget", {
                                        value: i.el,
                                        writable: !0,
                                        enumerable: !0,
                                        configurable: !0
                                    })
                                } catch (t) {
                                    console.error(t.message), t.currentTarget = i.el
                                }
                                return t.preventDefault(), n(t, i)
                            }, !1))
                        }
                    },
                    l = {
                        bind: function (t, i) {
                            t.tapObj = {}, t.handler = function (e, a) {
                                var n = i.value;
                                if (!n && t.href && !i.modifiers.prevent) return window.location = t.href;
                                n.event = e;
                                var o = n.event.target.tagName.toLocaleLowerCase();
                                if (a || (n.tapObj = t.tapObj), "input" === o || "textarea" === o) return n.event.target.focus();
                                n.methods.call(this, n)
                            }, e() ? t.addEventListener("click", function (e) {
                                i.modifiers.stop && e.stopPropagation(), i.modifiers.prevent && e.preventDefault(), t.handler(e, !0)
                            }, !1) : (t.addEventListener("touchstart", function (e) {
                                i.modifiers.stop && e.stopPropagation(), i.modifiers.prevent && e.preventDefault(), a(e, t)
                            }, !1), t.addEventListener("touchend", function (e) {
                                try {
                                    Object.defineProperty(e, "currentTarget", {
                                        value: t,
                                        writable: !0,
                                        enumerable: !0,
                                        configurable: !0
                                    })
                                } catch (e) {
                                    console.error(e.message), e.currentTarget = t
                                }
                                return e.preventDefault(), n(e, t)
                            }, !1))
                        },
                        componentUpdated: function (t, e) {
                            t.tapObj = {}, t.handler = function (i, a) {
                                var n = e.value;
                                if (!n && t.href && !e.modifiers.prevent) return window.location = t.href;
                                n.event = i, a || (n.tapObj = t.tapObj), n.methods.call(this, n)
                            }
                        },
                        unbind: function (t) {
                            t.handler = function () {
                            }
                        }
                    };
                o.install = function (t) {
                    t.version.substr(0, 1) > 1 && (s = !0), t.directive("tap", s ? l : r)
                }, o.version = "3.0.2", t.exports = o
            }();
        Vue.component("yytm-bill", {
            template: '<div><template v-if="!isShowCard && !isCardOnly"><yytm-header :config="listHeaderConfig" @on-header-sheet-click="listHeaderHandler" @on-click-back="listBack"></yytm-header></template><template v-else><yytm-header :config="cardHeaderConfig" @on-header-sheet-click="cardHeaderHandler" @on-click-back="cardBack"></yytm-header></template><div class="content" v-if="isConfigReady"><div v-if="!isShowCard && !isCardOnly"><yytm-filter v-bind:config="filterConfig" @on-filtercond-changed="onFilterChanged" @before-filter-item-show="beforeFilterItemShow" @after-filter-item-change="afterFilterItemChange"></yytm-filter><div class="content-wrap"><div class="content-box"><yytm-list @on-item-click="listItemHandler" :config="billListConfig" :yytm-component-handler="yytmBillHandler":condition="condition" :updateBillId="listUpdateBillId" ></yytm-list></div></div></div><template v-if="isShowCard || isCardOnly"><yytm-card :config="cardConfig" :handler="yytmBillHandler" :plugin-data="pluginData" @after-save="afterSave" @after-delete="afterDelete"@after-commit="afterSave"@after-uncommit="afterSave"@after-reject="afterSave"@after-unapprove="afterSave" @card-ready="cardReady" @after-head-edit="afterHeadEdit" @workflow-info-changed="workFlowHistoryChanged" ref="yymtCard" @cardback="cardBack"><template slot="card-body-before"><slot name="card-body-before"></slot></template><template slot="card-body"><slot name="card-body"></slot></template><template slot="card-tail"><slot name="card-tail"></slot></template><template slot="card-button"><slot name="card-button"></slot></template></yytm-card></template></div><yytm-index-menu :show-sidebar="showSidebar"></yytm-index-menu></div>',
            props: {
                config: {
                    type: Object,
                    default: function () {
                        return {}
                    }
                },
                yytmComponentHandler: {
                    type: Object,
                    default: function () {
                        return new YytmBillHDL
                    }
                },
                pluginData: {
                    type: Object,
                    default: function () {
                        return {}
                    }
                }
            },
            data: function () {
                return this.initComponentData()
            },
            created: function () {
                var t = this;
                if (YC.Navigation.leftMenuHandler = function () {
                    t.showSidebar = !t.showSidebar
                }, YC.Utils.isEmpty(t.$props.config)) {
                    var e = YC.Utils.getUrlParam(window.location.href, "funCode"),
                        i = YC.Utils.getUrlParam(window.location.href, "mbFunCode");
                    if (e || i) {
                        YC.Utils.getFuncByNcCode(e) || YC.Utils.getFuncByCode(i) ? (t.$data = t.initComponentData(), t.$data.billType && t.$data.billIdField ? t.$data.isConfigReady = !0 : t.loadBillParams()) : t.loadBillAppInfo(e)
                    }
                } else t.$data.billType && t.$data.billIdField ? t.$data.isConfigReady = !0 : t.loadBillParams()
            },
            methods: {
                initComponentData: function () {
                    var t = null,
                        e = YC.Utils.getUrlParam(window.location.href, "funCode");
                    e && (t = YC.Utils.getFuncByNcCode(e));
                    var i = YC.Utils.getUrlParam(window.location.href, "mbFunCode");
                    !t && i && (t = YC.Utils.getFuncByCode(i));
                    var a;
                    a = t && t.name ? t.name : this.$props.config.billName;
                    var e = this.$props.config.funCode;
                    if (!e && t && (e = t.ncFuncode), e) {
                        var n = YC.Utils.getFuncByNcCode(e);
                        n && (a = n.name)
                    }
                    var o = this.$props.config.cardNodeKey ? this.$props.config.cardNodeKey : "MOBILE_EDIT",
                        s = this.$props.config.listNodeKey ? this.$props.config.listNodeKey : "MOBILE_LIST",
                        r = this.$props.config.queryNodeKey ? this.$props.config.queryNodeKey : "MOBILE_LIST",
                        l = this.$props.config.billType;
                    !l && t && (d = t.billType);
                    var d = this.$props.config.location;
                    !d && t && (d = t.ncLocation);
                    var c, u = this.$props.config.billIdField,
                        p = this.$props.config.buttons ? this.$props.config.buttons : ["btn_edit", "btn_cancle", "btn_save", "btn_delete", "btn_commit"],
                        m = this.$props.config.todoButtons ? this.$props.config.todoButtons : ["btn_todo_unapprove", "btn_todo_approve", "btn_todo_disapprove", "btn_todo_reject"],
                        f = this.$props.config.pageSize ? this.$props.config.pageSize : 30,
                        h = YC.Utils.getUrlParam(window.location.href, "defaultShowComponent"),
                        v = YC.Utils.getUrlParam(window.location.href, "copyBillId"),
                        g = YC.Utils.getUrlParam(window.location.href, "billId"),
                        y = YC.Utils.getUrlParam(window.location.href, "pageStatus") || this.pageStatus.OP_NOTEDIT_CARD,
                        b = YC.Utils.getUrlParam(window.location.href, "isref") || !1,
                        C = "card" == h,
                        w = !!this.$props.config.isUseButtonSlot,
                        D = !!this.$props.config.isBodyFolded;
                    if (b) {
                        c = {};
                        var S = YC.Utils.getUrlParam(window.location.href, "srcbillidkey"),
                            $ = YC.LocalStorage.getValue(S),
                            T = YC.Utils.getUrlParam(window.location.href, "linkcodekey"),
                            _ = YC.LocalStorage.getValue(T),
                            k = this.isNotBlank($) ? this.getbillSessionValue($) : YC.Utils.getUrlParam(window.location.href, "srcBillId"),
                            x = this.isNotBlank(_) ? this.getbillSessionValue(_) : new Array,
                            I = YC.Utils.getUrlParam(window.location.href, "srcBillType"),
                            E = YC.Utils.getUrlParam(window.location.href, "srcFunCode"),
                            A = YC.Utils.getUrlParam(window.location.href, "srcHeaderPkField"),
                            R = YC.Utils.getUrlParam(window.location.href, "srcBodyPkField"),
                            P = YC.Utils.getUrlParam(window.location.href, "srcBodyTabCode");
                        this.isNotBlank(P) || (P = "tabcode"), c["srcBillId"] = k, c["linkCodes"] = x, c["srcBillType"] = I, c["srcFunCode"] = E, c["srcHeaderPkField"] = A, c["srcBodyPkField"] = R, c["srcBodyTabCode"] = P;
                        var M = this.getRefAggVOPks(k, x, P);
                        c["REFBILL_PKS"] = JSON.stringify(M)
                    }
                    var B = this;
                    YC.Navigation.leftMenuHandler = function () {
                        B.showSidebar = !B.showSidebar
                    };
                    var O = {
                        title: a + "列表",
                        rightConfig: []
                    };
                    if (B.yytmComponentHandler.getListButtons(B))
                        for (var N = 0; N < B.yytmComponentHandler.getListButtons(B).length; N++) O.rightConfig.push({
                            name: B.yytmComponentHandler.getListButtons(B)[N].name,
                            handler: B.yytmComponentHandler.getListButtons(B)[N].id,
                            isFloat: B.yytmComponentHandler.getListButtons(B)[N].isFloat,
                            icon: B.yytmComponentHandler.getListButtons(B)[N].icon,
                            floatPosition: B.yytmComponentHandler.getListButtons(B)[N].floatPosition
                        });
                    return {
                        appName: a,
                        showSidebar: !1,
                        isCardOnly: C,
                        isConfigReady: !1,
                        funCode: e,
                        location: d,
                        billType: l,
                        billIdField: u,
                        billListConfig: {
                            location: d,
                            dataUrl: d + "/loadMobileBillListData.mjson",
                            pageSize: f,
                            params: {
                                funCode: e,
                                nodeKey: s,
                                queryNodeKey: r,
                                billType: l,
                                billIdField: u
                            },
                            billIdField: u
                        },
                        filterConfig: {
                            location: d,
                            params: {
                                funCode: e,
                                nodeKey: r,
                                billType: l,
                                location: d
                            }
                        },
                        cardConfig: {
                            mode: y,
                            funCode: e,
                            nodeKey: o,
                            billId: g,
                            copyBillId: v,
                            billIdField: u,
                            location: d,
                            buttons: p,
                            todoButtons: m,
                            billType: l,
                            isBodyFolded: D,
                            isUseButtonSlot: w,
                            isRef: b,
                            refConfig: c,
                            isShowAttachment: void 0 == this.$props.config.isShowAttachment || this.$props.config.isShowAttachment
                        },
                        listHeaderConfig: O,
                        cardHeaderConfig: {
                            title: a + "详情",
                            rightConfig: [{
                                id: "bill_approve",
                                text: "审批",
                                icon: "icon_approve",
                                handler: "workflow"
                            }]
                        },
                        condition: "",
                        listUpdateBillId: "",
                        isShowCard: !1,
                        cardVM: null,
                        yytmBillHandler: this.$props.yytmComponentHandler
                    }
                },
                getbillSessionValue: function (t) {
                    for (var e = new Array, i = t.split(";"), a = 0; a < i.length - 1; a++) e.push(i[a]);
                    return e
                },
                isNotBlank: function (t) {
                    return "string" == typeof t ? void 0 != t && null != t && "" != t : void 0 != t && null != t
                },
                getRefAggVOPks: function (t, e, i) {
                    if (!this.isNotBlank(t)) return t;
                    var a = [];
                    if (t instanceof Array) {
                        for (var n = {}, o = {}, s = 0; s < t.length; s++) {
                            var r = t[s].split(","),
                                l = r[0];
                            if (r.length > 1) {
                                var d = n[l],
                                    c = o[l];
                                this.isNotBlank(d) || (d = []), this.isNotBlank(c) || (c = []);
                                for (var u = 1; u < r.length; u++) d.push(r[u]);
                                e instanceof Array && c.push(e[s]), n[l] = d, o[l] = c
                            } else n[l] = null
                        }
                        for (key in n) {
                            var p = {};
                            p["HEADER"] = key, p["BODY"] = {}, this.isNotBlank(n[key]) && (p["BODY"][i] = n[key]), this.isNotBlank(o[key]) && (p["LINKCODE"] = o[key]), a.push(p)
                        }
                    } else {
                        var p = {},
                            r = t.split(","),
                            l = r[0];
                        if (p["HEADER"] = l, p["BODY"] = {}, r.length > 1) {
                            for (var m = [], s = 1; s < r.length; s++) m.push(r[s]);
                            p["BODY"][i] = m
                        }
                        a.push(p)
                    }
                    return a
                },
                listItemHandler: function (t) {
                    this.$set(this.$data.cardConfig, "billId", t[this.$data.billIdField]), this.$set(this.$data.cardConfig, "ExtraBillInfo", this.yytmComponentHandler.getExtraBillInfo(this, t)), this.$set(this.$data, "isShowCard", !0)
                },
                loadBillAppInfo: function (t) {
                    var e = this,
                        i = {
                            adapter: "WebncAdapter",
                            procedure: "getAppByCode",
                            parameters: [t]
                        };
                    YC.Client.invokeProcedureNeedUser(i, function (t) {
                        t.invocationResult.data;
                        e.$data = e.initComponentData(), e.$data.isConfigReady = !0
                    }, function (t) {
                    })
                },
                loadBillParams: function () {
                    var t = this;
                    YC.Utils.invokeBusinessProcedure(t.$data.location + "/getMobileBillParams.mjson", {
                        funCode: t.$data.funCode
                    }, function (e) {
                        var i = e.invocationResult.billType,
                            a = e.invocationResult.billIdField;
                        t.$data.billIdField = a, t.$data.billListConfig.billIdField = a, t.$data.billListConfig.params.billIdField = a, t.$data.billListConfig.params.billType = i, t.$data.filterConfig.params.billType = i, t.$data.cardConfig.billType = i, t.$data.cardConfig.billIdField = a, t.$data.isConfigReady = !0
                    })
                },
                listHeaderHandler: function (t) {
                    var e = this;
                    if (e.yytmComponentHandler.getListButtons(e))
                        for (var i = 0; i < e.yytmComponentHandler.getListButtons(e).length; i++) e.yytmComponentHandler.getListButtons(e)[i].id == t.handler && e.yytmComponentHandler.getListButtons(e)[i].handler()
                },
                cardHeaderHandler: function (t) {
                    var e = this;
                    "workflow" == t.handler && e.changeToWorkflowHistory(), "attach_print" == t.handler && e.previewAndPrintBillAttachment()
                },
                add: function () {
                    this.$set(this.$data.cardConfig, "mode", this.pageStatus.OP_ADD), this.$set(this.$data.cardConfig, "billId", void 0), this.$set(this.$data, "isShowCard", !0)
                },
                onFilterChanged: function (t) {
                    this.$indicator.open("正在搜索..."), this.$set(this.$data, "condition", t)
                },
                afterSave: function (t) {
                    var e = t.HEADER[this.$props.config.billIdField];
                    this.$set(this.$data, "listUpdateBillId", e + "@" + Math.random()), this.$emit("after-save", t)
                },
                afterDelete: function (t) {
                    this.$set(this.$data, "listUpdateBillId", t), this.cardBack()
                },
                cardBack: function () {
                    var t = this;
                    if (!t.yytmComponentHandler.beforeCardBack(t)) return void (t.yytmComponentHandler.isCardValueChanged = !1);
                    if (t.cardConfig.mode != t.pageStatus.OP_EDIT && t.cardConfig.mode != t.pageStatus.OP_ADD || !t.yytmComponentHandler.isCardValueChanged) {
                        if (t.$data.isCardOnly) return void t.yytmComponentHandler.closeBillWindow(t);
                        t.$set(t.$data, "isShowCard", !1), t.$set(t.$data.cardConfig, "mode", t.pageStatus.OP_NOTEDIT_CARD)
                    } else t.$messagebox.confirm("", {
                        message: "当前单据尚未保存，是否返回列表？",
                        title: "提示",
                        confirmButtonText: "确定",
                        cancelButtonText: "取消"
                    }).then(function (e) {
                        if ("confirm" == e) {
                            if (t.yytmComponentHandler.isCardValueChanged = !1, t.$data.isCardOnly) return void t.yytmComponentHandler.closeBillWindow(t);
                            t.$set(t.$data, "isShowCard", !1), t.$set(t.$data.cardConfig, "mode", t.pageStatus.OP_NOTEDIT_CARD)
                        }
                    })
                },
                listBack: function () {
                    var t = this;
                    t.yytmComponentHandler.closeBillWindow(t)
                },
                workFlowHistoryChanged: function (t, e) {
                    var i = (this.$data.cardConfig.billId, this.$data.appName + "详情"),
                        a = this.$data.cardHeaderConfig.rightConfig;
                    if (e) {
                        for (var n = !1, o = 0; o < a.length; o++) "bill_approve" == a[o].id && (n = !0);
                        n || a.push({
                            id: "bill_approve",
                            text: "审批",
                            icon: "icon_approve",
                            handler: "workflow"
                        })
                    } else
                        for (var o = 0; o < a.length; o++) "bill_approve" == a[o].id && a.splice(o, 1);
                    this.$set(this.$data, "cardHeaderConfig", {
                        title: i,
                        rightConfig: a
                    }), this.workFlowHistory = t
                },
                changeToWorkflowHistory: function () {
                    var t = this,
                        e = {
                            billId: this.$data.cardConfig.billId,
                            billType: this.$data.cardConfig.billType,
                            pageId: "billWorkflow",
                            vbillstatus: this.cardVM ? this.cardVM.cardData.data.HEADER.vbillstatus : null
                        };
                    YC.LocalStorage.setValue(YC.AppProperty.TEMP_UFT_WORKFLOWHISTORY, {
                        billId: e.billId,
                        billType: e.billType,
                        historys: t.workFlowHistory
                    }), e[YC.AppProperty.UFT_CURRENT_BUSINESS_ADAPTER] = YC.Utils.getCurrentAdapter(), YC.Window.openWindow("page/BillWorkFlow.html", {
                        title: "审批情况"
                    }, null, e)
                },
                previewAndPrintBillAttachment: function () {
                    var t = this;
                    if (this.$refs.yymtCard.isBlank(this.$refs.yymtCard.cardData.template.PRINTTEMPLATEID)) return void this.$messagebox.alert("", {
                        message: "请联系管理员配置，再进行打印！",
                        title: "提示",
                        confirmButtonText: "确定"
                    });
                    t.$indicator.open();
                    var e = (YC.Utils.getCurrentAdapter(), YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO)),
                        i = JSON.parse(e),
                        a = this.location + "/mobilePrint.mjson?printTempletVOId=" + this.$refs.yymtCard.cardData.template.PRINTTEMPLATEID + "&billId=" + this.cardConfig.billId + "&templateID=" + this.$refs.yymtCard.cardData.template.TEMPLATEID + "&funCode=" + this.cardConfig.funCode + "&billType=" + this.cardConfig.billType + "&pkCorp=" + i.pk_corp;
                    YC.Utils.downloadFile(a, t.cardConfig.billId + ".pdf", function (e) {
                        t.$indicator.close();
                        var i = t.appName + "-" + t.cardVM.cardData.data.HEADER.vbillno,
                            a = {
                                filename: i + ".pdf",
                                path: e.toURL(),
                                subject: "",
                                encrypted: !1,
                                isShowTool: !0,
                                busiParams: {
                                    filename: i + ".pdf",
                                    type: 4,
                                    adapterName: YC.Utils.getCurrentAdapter(),
                                    vbillno: t.$refs.yymtCard.cardData.data.HEADER.vbillno,
                                    vbilltype: t.$refs.yymtCard.cardData.data.HEADER.vbilltype
                                }
                            };
                        YC.Utils.previewLocalDocument(a, function () {
                        })
                    })
                },
                loadRefBillData: function (t) {
                    YC.invokeBusinessProcedure(vm.location + "/loadRefBillData.mjson", t, function (t) {
                    })
                },
                cardReady: function (t) {
                    this.$emit("card-ready", t);
                    var e = t.cardInstance;
                    if (e.cardData.template.PRINTTEMPLATEID) {
                        for (var i = this.$data.cardHeaderConfig.rightConfig, a = !1, n = 0; n < i.length; n++) "attach_print" == i[n].id && (a = !0);
                        a || i.splice(0, 0, {
                            id: "attach_print",
                            text: "附件打印",
                            icon: "icon_attachment",
                            handler: "attach_print"
                        }), this.$set(this.$data, "cardHeaderConfig", {
                            title: this.$data.cardHeaderConfig.title,
                            rightConfig: i
                        })
                    }
                    this.cardVM = e
                },
                afterHeadEdit: function (t) {
                    this.$emit("after-head-edit", t)
                },
                beforeFilterItemShow: function (t) {
                    this.yytmComponentHandler.beforeFilterItemShow(this, t)
                },
                afterFilterItemChange: function (t) {
                    this.yytmComponentHandler.afterFilterItemChange(this, t)
                }
            }
        });
        Vue.component("yytm-card-assigntip", {
            template: '<div><div class="pop-check"><div class="pop-check-title">提示</div><div class="pop-check-tip">请指派下一个审批环节的参与者</div><div class="pop-check-content"><template v-for="item in list"><div class="pop-check-box" @click="onItemClick(item)" ><i class="fa" :class="{\'fa-check-square-o\':item.checked,\'fa-square-o\':!item.checked}"></i>{{item.text}}</div></template></div><div class="pop-check-btnwrap"><div class="pop-check-btn cancel" @click="onCancel">取消</div><div class="pop-check-btn confirm" @click="onConfirm">确定</div></div></div><div class="v-modal" @click="onCancel"></div></div>',
            props: ["datas"],
            data: function () {
                return {
                    list: []
                }
            },
            created: function () {
                var t = this;
                if (t.$props.datas[0]) {
                    for (var e = YC.Utils.clone(t.$props.datas[0].list0), i = 0; i < e.length; i++) e[i].checked = !1;
                    t.$set(t.$data, "list", e)
                }
            },
            methods: {
                onItemClick: function (t) {
                    this.$set(t, "checked", !t.checked)
                },
                onCancel: function () {
                    this.$emit("on-cancel")
                },
                onConfirm: function () {
                    for (var t = this, e = [], i = 0; i < t.$data.list.length; i++) t.$data.list[i].checked && e.push(t.$data.list[i].value);
                    for (var a = "", i = 0; i < e.length; i++) 0 != i && (a += "&"), a += e[i];
                    t.$emit("on-confirm", a)
                }
            }
        });
        Vue.component("yytm-card-block", {
            template: '\t<div class=\'list-block\'>\t\t<ul class="" v-if="isHeader">\t\t\t<yytm-card-field  v-for="templateItem in template" :index="-1" :isHeader="isHeader" :data="datas" :template="templateItem" :config="config" v-on:after-header-edit="afterHeaderEdit" v-on:before-header-edit="beforeHeaderEdit"></yytm-card-field>\t\t</ul>\t\t<div class="" v-else-if="!isBodyItemsAllHide">' + "\t\t\t<div v-for='(bodyItem,index) in datas' :key='bodyItem._uuid' ref='bodyRecord'>\t\t\t\t<template v-if='isBodyRecordShow(bodyItem, index)'>\t\t\t\t<template v-if='showTemplate'>\t\t\t\t\t<div class='wallet-wrapper'>\t\t\t\t\t<div v-if='showRowNum' class='wallet-index'>{{index+1}}</div>\t\t\t\t\t<div class='wallet-tool'>\t\t\t\t\t\t<div class='region-btn del-button' v-if='shouldBodyDeleteBtnShow(index)' @click='deleteYytmBlock($event,index)'>删除</div>\t\t\t\t\t\t<div class='region-btn copy-button' v-if='shouldBodyCopyBtnShow(index)' @click='copyYytmBlock(index)'>复制</div>\t\t\t\t\t\t<div class='region-btn edit-button' v-if='shouldBodyEditBtnShow(index)' @click='onBodyEditClick(index)'>编辑</div>\t\t\t\t\t\t<div class='region-btn edit-button' @click='onBodyEditClick(index)' v-if='config.mode==pageStatus.OP_INIT || config.mode==pageStatus.OP_NOTEDIT_CARD'>详情</div>\t\t\t\t\t</div>\t\t\t\t\t<div @click='onTabTitleClick(index, bodyItem)' v-html='genShowTabTitleDefHtml(index, bodyItem)'></div>\t\t\t\t\t<div v-for='showTempItem in showTemplate.items'>\t\t\t\t\t\t<div class='list-block'>                 \t\t<ul v-if='showTempItem.isGroup' class='wallet-list wallet-view' @click='onShowItemClick(showTempItem, index)'>\t\t\t\t\t\t\t\t<li class='wallet-list-item'> \t\t\t\t\t\t\t\t\t<div v-if='showTempItem.leftItem' class='item-type'>\t\t\t\t\t\t\t\t\t\t<img :src='getShowItemIcon(showTempItem.leftItem, bodyItem)' />\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t \t\t\t<div class='item-info'>\t\t\t\t\t \t\t\t\t\t<div class='item-title'><span class='title'>  {{showTempItem.groupName}}</span></div>\t\t\t\t\t \t\t\t\t\t<div class='item-cell'>\t\t\t\t\t\t\t\t\t\t\t<p v-if='showTempItem.subTitleItem'><label>{{showTempItem.subTitleItem.defaultshowname}}：</label>{{processShowValue(bodyItem, showTempItem.subTitleItem)}}</p>\t\t\t\t\t\t\t\t\t\t\t<p v-for='groupItem in showTempItem.items' v-if='shouldBodyFieldShow(groupItem, index)'><label>{{groupItem.defaultshowname}}：</label>{{processShowValue(bodyItem, groupItem)}}</p>\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t \t\t\t\t</div>\t\t\t\t\t \t\t\t\t<div class='item-money'><span class='sub-num' v-if='showTempItem.rightNumItem'>{{processShowValue(bodyItem, showTempItem.rightNumItem)}}</span><span class='sub-money' v-if='showTempItem.rightItem'>¥ {{processShowValue(bodyItem, showTempItem.rightItem)}}</span>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t \t\t\t</li>\t\t\t\t\t \t\t</ul>\t\t\t\t\t\t\t<div v-if='showTempItem.datatype == DataType.ATTACHMENT && showTempItem.reftype == \"htmlcode\"' v-html='genItemDefHtml(showTempItem, bodyItem)'></div>\t\t\t\t\t\t\t<yytm-card-body-attachment v-if='showTempItem.datatype == DataType.ATTACHMENT && showTempItem.reftype == \"attachfield\" && shouldBodyFieldShow(showTempItem, index)' :config='config' :bodydata='bodyItem' :template='showTempItem' @on-attachment-change='onAttachmentChanged' :index='index' ref='body-attachemnt'></yytm-card-body-attachment>\t\t\t\t\t\t</div>\t\t\t\t\t</div></div>\t\t\t\t\t<yytm-popup v-if='bodyItem._showEditModal' v-model='bodyItem._showEditModal' :modal='false' position='right' style='width: 100%'>\t\t\t\t\t\t<yytm-header :config='headerConfig' @on-click-back='closePopupModal'></yytm-header>\t\t\t\t\t\t<div class='full-height'>\t\t\t\t\t\t<div class='page-loadmore-wrapper'>\t\t\t\t\t\t<ul style='-webkit-overflow-scrolling: touch'>\t\t\t\t\t\t\t<yytm-card-field v-for='templateItem in template.items'  v-if='shouldBodyFieldShow(templateItem, index)' :isHeader='isHeader' :index='index' :data='bodyItem' :template='templateItem' :config='config' v-on:after-body-edit='afterBodyEdit' v-on:before-body-edit='beforeBodyEdit'></yytm-card-field>\t\t\t\t\t\t</ul>         \t\t\t<div v-for='attchField in attchmentFields'>\t\t\t\t\t\t\t<yytm-card-body-attachment v-if='shouldBodyFieldShow(attchField, index)' :config='config' :bodydata='bodyItem' :template='attchField' @on-attachment-change='onAttachmentChanged' ref='body-attachemnt' :index='index'></yytm-card-body-attachment>\t\t\t\t\t\t</div>\t\t\t\t\t\t</div></div>\t\t\t\t\t</yytm-popup>\t\t\t\t</template>\t\t\t\t<template v-else>\t\t\t\t\t<div class='content-block-title content-block-collapse' :class='{\"un-collapse\":!config.isBodyFolded}'><p class='collapse-name' @click='onTabTitleClick(index, bodyItem)' v-html='genTabTitleDefHtml(index,bodyItem)'></p>\t\t\t\t\t\t<div class='list-block-del' v-if='shouldBodyDeleteBtnShow(index)' @click='deleteYytmBlock($event,index)' >\t\t\t\t\t\t\t<div class='del-button'><span>删除</span></div>\t\t\t\t\t\t</div>\t\t\t\t\t\t<span class='ico-collapse' v-if='config.isBodyFolded' @click='bodyItem._isfolded = !bodyItem._isfolded'><i v-if='bodyItem._isfolded' class='fa fa-angle-down'></i><i v-else class='fa fa-angle-up'></i></span>\t\t\t\t\t</div>\t\t\t\t\t<div class='content-collapse-list' v-show='!config.isBodyFolded || !bodyItem._isfolded' >\t\t\t\t\t\t<ul>\t\t\t\t\t\t\t<yytm-card-field v-for=\"templateItem in template.items\" v-if=\"shouldBodyFieldShow(templateItem, index)\" :isHeader=\"isHeader\" :index=\"index\" :data=\"bodyItem\" :template=\"templateItem\" :config=\"config\" v-on:after-body-edit=\"afterBodyEdit\" v-on:before-body-edit=\"beforeBodyEdit\"></yytm-card-field>\t\t\t\t\t\t</ul>         \t\t\t<div v-for='attchField in attchmentFields'>\t\t\t\t\t\t\t<yytm-card-body-attachment v-if='bodyItem' :config='config' :bodydata='bodyItem' :template='attchField' @on-attachment-change='onAttachmentChanged' :index='index' ref='body-attachemnt'></yytm-card-body-attachment>\t\t\t\t\t\t</div>\t\t\t\t\t</div>\t\t\t\t</template>\t\t\t\t</template>\t\t\t</div>\t\t\t<div class=\"list-block-label\" v-if=\"isRowAddBtnShow\">\t\t\t\t<div class=\"add-button\" @click=\"addYytmBlock($event)\">\t\t\t\t\t<i class=\"icon ico-add\" ></i><span>增加{{template.tabName}}</span>\t\t\t\t</div>\t\t\t\t<div v-if=\"isScanBtnShow&&isRowAddBtnShow\" class=\"add-button\" @click=\"addYytmBlockByScan($event)\">\t\t\t\t\t<i class=\"icon ico-add\" ></i><span>扫码</span>\t\t\t\t</div>\t\t\t</div>\t\t</div>\t</div>",
            props: {
                config: {
                    type: Object
                },
                isHeader: {
                    type: Boolean
                },
                datas: {},
                handler: {},
                template: {},
                showTemplate: {
                    type: Object,
                    default: null
                },
                isRowAddBtnShow: {
                    type: Boolean,
                    default: !0
                },
                isRowDelBtnShow: {
                    type: Boolean,
                    default: !0
                },
                isScanBtnShow: {
                    type: Boolean,
                    default: !1
                },
                refreshflag: {
                    type: Boolean
                },
                showRowNum: {
                    type: Boolean,
                    defalut: !0
                }
            },
            data: function () {
                return this.initData(), {
                    isBodyItemsAllHide: !0,
                    afterAddBody: !1,
                    attchmentFields: [],
                    headerConfig: {
                        title: "编辑"
                    },
                    itemTemplateMap: {},
                    foldedIdMap: {}
                }
            },
            created: function () {
                if (!this.$props.isHeader) {
                    for (var t = 0; t < this.$props.template.items.length; t++) {
                        var e = this.$props.template.items[t];
                        if (e.isGroup)
                            for (var i = 0; i < e.items.length; i++) e.items[i].isShow && this.$set(this.$data, "isBodyItemsAllHide", !1);
                        else e.isShow && this.$set(this.$data, "isBodyItemsAllHide", !1);
                        e.datatype == this.DataType.ATTACHMENT && this.attchmentFields.push(e)
                    }
                    for (var a = {}, t = 0; t < this.template.items.length; t++) a[this.template.items[t].itemkey] = this.template.items[t];
                    this.itemTemplateMap = a
                }
            },
            methods: {
                deleteYytmBlock: function (t, e) {
                    this.$emit("delete-body-data", this.template, e)
                },
                onBodyEditClick: function (t) {
                    this.showEditPage(t)
                },
                copyYytmBlock: function (t) {
                    this.$emit("copy-body-data", this.template, t)
                },
                getThousandBit: function (t, e) {
                    return "number" == typeof t ? t.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,") : "string" == typeof t ? isNaN(Number(t)) ? t : Number(t).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,") : t
                },
                showEditPage: function (t) {
                    this.oriHeaderConfig = YC.Navigation.getHeaderConfig(), this.headerConfig.title = this.template.tabName + " (" + (t + 1) + ")", this.datas[t]._showEditModal = !0
                },
                addYytmBlock: function (t) {
                    var e = this;
                    e.datas.length;
                    e.afterAddBody = !0, e.$emit("add-body-data", e.template, !0)
                },
                addYytmBlockByScan: function (t) {
                    this.$emit("add-body-data-by-scan", this.template)
                },
                beforeHeaderEdit: function (t, e, i) {
                    return !this.hasEvent("before-header-edit") || this.apply("before-header-edit", [t, this.datas, i, e])
                },
                afterHeaderEdit: function (t, e, i, a) {
                    this.$emit("after-header-edit", t, this.datas, i, a, e)
                },
                beforeBodyEdit: function (t, e, i) {
                    return !this.hasEvent("before-body-edit") || this.apply("before-body-edit", [t, this.datas[e], i, e])
                },
                afterBodyEdit: function (t, e, i, a) {
                    this.$emit("after-body-edit", t, this.datas[e], i, a, e)
                },
                onAttachmentChanged: function (t, e) {
                    for (var i = [], a = this.$refs["body-attachemnt"], n = 0; n < a.length; n++) i = i.concat(a[n].$data.attachments);
                    this.$emit("on-block-attachment-change", i, {
                        index: e,
                        bodyData: this.datas[e]
                    })
                },
                genItemDefHtml: function (t, e) {
                    var i = t.userdefine2;
                    return this.genDefHtml(i, e)
                },
                genShowTabTitleDefHtml: function (t, e) {
                    return this.showTemplate && this.showTemplate.tabTemplate ? this.genDefHtml(this.showTemplate.tabTemplate, e) : this.handler.getBodyTitleHtml(this.template, e, t)
                },
                genTabTitleDefHtml: function (t, e) {
                    return this.template && this.template.tabTemplate ? this.genDefHtml(this.template.tabTemplate, e) : this.handler.getBodyTitleHtml(this.template, e, t)
                },
                genDefHtml: function (t, e) {
                    var i = this;
                    if (!t) return "";
                    for (var a = t, n = [], o = !1; !o;) {
                        var s = a.indexOf("{{"),
                            r = a.indexOf("}}");
                        if (s < 0 || r < 0) o = !0;
                        else {
                            var l = a.substring(s + 2, r);
                            n.push(l), a = a.substring(0, s) + a.substring(r + 2)
                        }
                    }
                    for (var d = 0; d < n.length; d++) t = e[n[d]] || 0 == e[n[d]] ? t.replace("{{" + n[d] + "}}", i.processShowValue(e, i.itemTemplateMap[n[d]])) : t.replace("{{" + n[d] + "}}", "");
                    return t
                },
                getShowItemIcon: function (t, e) {
                    var i = t.defaultvalue;
                    return e[t.itemkey] && (i = e[t.itemkey]), 0 != i.indexOf(".") && (i = "/ycmobileupdate/resources/default/images/icon/" + i), i
                },
                initData: function () {
                    if (!this.isHeader && this.datas)
                        for (var t = 0; t < this.datas.length; t++) this.datas[t]["_uuid"] || (this.datas[t]["_uuid"] = Uft.UUID(20, 16), this.$set(this.datas[t], "_showEditModal", !1), this.$set(this.datas[t], "_isfolded", !0))
                },
                closePopupModal: function () {
                    for (var t = 0; t < this.datas.length; t++) this.$set(this.datas[t], "_showEditModal", !1);
                    YC.Utils.isMobile() && YC.Navigation.setHeaderConfig(this.oriHeaderConfig)
                },
                shouldBodyCopyBtnShow: function (t) {
                    return this.handler.shouldBodyCopyBtnShow(this.config, this.template, this.datas, t)
                },
                shouldBodyEditBtnShow: function (t) {
                    return this.handler.shouldBodyEditBtnShow(this.config, this.template, this.datas, t)
                },
                shouldBodyDeleteBtnShow: function (t) {
                    return this.handler.shouldBodyDeleteBtnShow(this.config, this.template, this.datas, t)
                },
                shouldBodyFieldShow: function (t, e) {
                    return this.handler.shouldBodyFieldShow(this.config, this.template, t, this.datas, e)
                },
                onShowItemClick: function (t, e) {
                    this.$emit("on-show-item-click", t, this.datas, e)
                },
                processShowValue: function (t, e) {
                    var i = this,
                        a = t[e.itemkey];
                    return e.datatype == this.DataType.NUMBER || e.datatype == this.DataType.INTEGER ? i.processNumber(t, e) : a
                },
                onTabTitleClick: function (t, e) {
                    this.$emit("on-tab-title-click", {
                        index: t,
                        bodyDatas: this.datas,
                        itemData: e
                    })
                },
                getFoldedStatus: function (t) {
                    return console.log(t), this.foldedIdMap[t._uuid] ? this.foldedIdMap[t._uuid] = !0 : this.foldedIdMap[t._uuid] = !1, this.foldedIdMap[t._uuid]
                },
                isBodyRecordShow: function (t, e) {
                    return this.handler.isBodyRecordShow(this, t, e)
                }
            },
            watch: {
                datas: function (t, e) {
                    var i = this;
                    this.initData(), Vue.nextTick(function () {
                        i.showTemplate && i.afterAddBody && (i.afterAddBody = !1, i.showEditPage(t.length - 1))
                    })
                },
                refreshflag: function (t, e) {
                    this.isBodyItemsAllHide = !this.isBodyItemsAllHide, this.isBodyItemsAllHide = !this.isBodyItemsAllHide
                }
            }
        });
        Vue.component("yytm-card-body-attachment", {
            template: '<div><span class="content-block-title" v-html="template.defaultshowname"></span><yytm-attachment :config="attachmentConfig" @on-attachment-change="onAttachmentChanged"></yytm-attachment></div>',
            props: ["config", "bodydata", "template", "index"],
            data: function () {
                return {
                    attachmentConfig: {
                        billType: this.config.billType,
                        editable: !1,
                        addable: !1,
                        attachments: this.bodydata[this.template.itemkey].attachments,
                        location: this.config.location,
                        billId: this.config.billId,
                        tempId: this.config.tempId
                    },
                    attachments: []
                }
            },
            created: function () {
                this.initAttachmentConfig()
            },
            methods: {
                onAttachmentChanged: function (t) {
                    var e = this;
                    e.$set(e.$data, "attachments", t), e.$set(e.$data.attachmentConfig, "attachments", t);
                    for (var i = "", a = 0; a < t.length; a++) a > 0 && (i += ","), i += t[a].fileName;
                    e.$set(e.bodydata, e.template.itemkey, {
                        value: i,
                        attachments: t
                    }), e.$emit("on-attachment-change", t, e.index)
                },
                initAttachmentConfig: function () {
                    var t = this;
                    t.config.mode != t.pageStatus.OP_EDIT && t.config.mode != t.pageStatus.OP_ADD && t.config.mode != t.pageStatus.OP_REFADD_CARD || (t.$set(t.$data.attachmentConfig, "editable", !0), t.$set(t.$data.attachmentConfig, "addable", !0));
                    t.$watch("bodydata." + this.template.itemkey, function (t, e) {
                        var i = t.attachments;
                        this.attachmentConfig.attachments = i
                    })
                },
                updateAttachmentStatus: function () {
                    var t = this;
                    t.config.mode == t.pageStatus.OP_INIT ? (t.$set(t.attachmentConfig, "editable", !1), t.$set(t.attachmentConfig, "addable", !1)) : t.config.mode == t.pageStatus.OP_ADD || t.config.mode == t.pageStatus.OP_REFADD_CARD ? (t.$set(t.attachmentConfig, "editable", !0), t.$set(t.attachmentConfig, "addable", !0)) : t.config.mode == t.pageStatus.OP_NOTEDIT_CARD ? (t.$set(t.attachmentConfig, "editable", !1), t.$set(t.attachmentConfig, "addable", !1)) : t.config.mode == t.pageStatus.OP_EDIT && (t.$set(t.attachmentConfig, "editable", !0), t.$set(t.attachmentConfig, "addable", !0))
                }
            },
            watch: {
                "config.mode": function (t, e) {
                    this.updateAttachmentStatus()
                },
                bodydata: function (t, e) {
                    var i = t[this.template.itemkey].attachments;
                    this.attachmentConfig.attachments = i
                }
            }
        });
        Vue.component("yytm-card-field", {
            template: '\t<li>\t\t<template v-if="template.isShow">\t\t\t<template v-if="(config.mode==pageStatus.OP_EDIT||config.mode==pageStatus.OP_ADD || config.mode==pageStatus.OP_REFADD_CARD)">\t\t\t\t<template v-if="template.editflag!=1">\t\t\t\t\t<yytm-field v-if="template.datatype==DataType.TEXT && (!template.inputlength||template.inputlength<500)" :label="template.defaultshowname"  placeholder="不需要输入" type="text" readonly :disable-clear="disableClear" v-model="data[template.itemkey]" :class="getFieldStyle(template)"></yytm-field>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.TEXT && (template.inputlength && template.inputlength>=500)" :label="template.defaultshowname"  placeholder="不需要输入" type="textarea" rows="2" readonly :disable-clear="disableClear" v-model="data[template.itemkey]" :class="getFieldStyle(template)"></yytm-field>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.INTEGER" :label="template.defaultshowname"  placeholder="不需要输入" type="text" :disable-clear="disableClear" readonly v-model="processNumber(data,template)" @input="fieldValueChanged" :class="getFieldStyle(template)"></yytm-field>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.NUMBER" :label="template.defaultshowname"  placeholder="不需要输入" type="text" :disable-clear="disableClear" readonly v-model="processNumber(data,template)" @input="fieldValueChanged" :class="getFieldStyle(template)"></yytm-field>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DATE" :title="template.defaultshowname"  :value="processDate(data,template)" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.BOOLEAN" :title="template.defaultshowname"  type="text" :value="getBooleanText(data[template.itemkey])" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.REF" :title="template.defaultshowname"  :value="processRef(data,template,isHeader)" :class="getFieldStyle(template)">\t\t\t\t\t\t<template>\t\t\t\t\t\t\t<span v-html="processRef(data,template,isHeader,false)"></span>\t\t\t\t\t\t</template>\t\t\t\t\t</mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.SELECT" :title="template.defaultshowname" :class="getFieldStyle(template)">\t\t\t\t\t\t<template>\t\t\t\t\t\t\t<span v-html="processSelect(data,template)"></span>\t\t\t\t\t\t</template>\t\t\t\t\t</mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DEFDOC" :title="template.defaultshowname" :value="processRef(data,template,isHeader)" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DATETIME" :title="template.defaultshowname" :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.TEXTAREA" :label="template.defaultshowname" placeholder="不需要输入" type="textarea" rows="3" :disable-clear="disableClear" v-model="data[template.itemkey]" readonly :class="getFieldStyle(template)"></yytm-field> \t\t\t\t<div v-else-if="template.datatype==DataType.DEFHTML && template.reftype==DataType.TEXTAREA" class="yyt-field" :class="getFieldStyle(template)"><label for="" class="yyt-field-label" v-text="template.defaultshowname"></label><div class="yyt-field-slot-wrap" v-html="data[template.itemkey]"></div></div>\t\t\t\t\t<div v-else-if="template.datatype==DataType.ATTACHMENT"></div>\t\t\t\t\t<mt-cell v-else :title="template.defaultshowname" :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t</template>\t\t\t\t<template v-else>\t\t\t\t\t<yytm-field v-if="template.datatype==DataType.TEXT && (!template.inputlength||template.inputlength<500)" :class="getFieldStyle(template)" :label="template.defaultshowname" :placeholder="getEditPlaceHolder(template.defaultshowname)" type="text" v-model="data[template.itemkey]" :disable-clear="disableClear" @click.native="fieldEditHandler($event,template)" @change.native="afterFieldEdit" @change="afterFieldEdit" ref="card-field">\t\t\t\t\t</yytm-field>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.TEXT && (template.inputlength && template.inputlength>=500)" :class="getFieldStyle(template)" :label="template.defaultshowname" :placeholder="getEditPlaceHolder(template.defaultshowname)" type="textarea" rows="2"  v-model="data[template.itemkey]" :disable-clear="disableClear" @click.native="fieldEditHandler($event,template)" @change.native="afterFieldEdit" @change="afterFieldEdit" ref="card-field">\t\t\t\t\t</yytm-field>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.INTEGER" :class="getFieldStyle(template)" :label="template.defaultshowname" :placeholder="getEditPlaceHolder(template.defaultshowname)" type="number" v-model="numberValue" :disable-clear="disableClear" @input="fieldValueChanged" @click.native="fieldEditHandler($event,template)" @change.native="afterFieldEdit(numberValue)" ref="card-field">\t\t\t\t\t</yytm-field>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.NUMBER" :class="getFieldStyle(template)" :label="template.defaultshowname" :placeholder="getEditPlaceHolder(template.defaultshowname)" type="number" v-model="data[template.itemkey]" :disable-clear="disableClear" @input="fieldValueChanged" @click.native="fieldEditHandler($event,template)" @change.native="afterFieldEdit(data[template.itemkey])" ref="card-field"></yytm-field>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DATE" :class="getFieldStyle(template)" :title="template.defaultshowname" :value="processDate(data,template)" @click.native="fieldEditHandler($event,template)" is-link></mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.BOOLEAN" :class="getFieldStyle(template)" :title="template.defaultshowname" disable>  \t\t\t\t\t<mt-switch v-model="processBoolean(data,template)" @change="afterFieldEdit" @click.native="fieldEditHandler($event,template)" ></mt-switch>\t\t\t\t    </mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.REF" :class="getFieldStyle(template)" :title="template.defaultshowname" :value="processRef(data,template,isHeader,true)"  @click.native="fieldEditHandler($event,template)" is-link>\t\t\t\t\t\t<template>\t\t\t\t\t\t\t<span v-html="processRef(data,template,isHeader,true)"></span>\t\t\t\t\t\t</template>\t\t\t\t\t</mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.SELECT" :class="getFieldStyle(template)" :title="template.defaultshowname" @click.native="fieldEditHandler($event,template)" is-link>\t\t\t\t\t\t<template>\t\t\t\t\t\t\t<span v-html="processSelect(data,template)"></span>\t\t\t\t\t\t</template>\t\t\t\t\t</mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DEFDOC" :class="getFieldStyle(template)" :title="template.defaultshowname" :value="processRef(data,template,isHeader,true)" @click.native="fieldEditHandler($event,template)" is-link>\t\t\t\t\t\t<template>\t\t\t\t\t\t\t<span v-html="processRef(data,template,isHeader,true)"></span>\t\t\t\t\t\t</template>\t\t\t\t\t</mt-cell>\t\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DATETIME" :class="getFieldStyle(template)" :title="template.defaultshowname" :value="processDateTime(data,template)" @click.native="fieldEditHandler($event,template)" is-link></mt-cell>\t\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.TEXTAREA" :class="getFieldStyle(template)" :label="template.defaultshowname" :placeholder="getEditPlaceHolder(template.defaultshowname)" type="textarea" rows="3" v-model="data[template.itemkey]" :disable-clear="disableClear" @click.native="fieldEditHandler($event,template)" @change.native="afterFieldEdit(data[template.itemkey])" ref="card-field"></yytm-field> \t\t\t\t<div v-else-if="template.datatype==DataType.DEFHTML && template.reftype==DataType.TEXTAREA" class="yyt-field"><label for="" class="yyt-field-label" v-text="template.defaultshowname"></label><div class="yyt-field-slot-wrap" v-html="data[template.itemkey]"></div></div>\t\t\t\t\t<div v-else-if="template.datatype==DataType.ATTACHMENT"></div>\t\t\t\t\t<mt-cell v-else :title="template.defaultshowname" :class="getFieldStyle(template)" :value="data[template.itemkey]" @click.native="fieldEditHandler($event,template)"></mt-cell>\t\t\t\t</template>\t\t\t</template>\t\t\t<template v-else>\t\t\t\t<mt-cell v-if="template.datatype==DataType.TEXT && (!template.inputlength||template.inputlength<500)"  :title="template.defaultshowname" :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.TEXT && (template.inputlength && template.inputlength>=500)"    :label="template.defaultshowname" type="textarea" rows="2" v-model="data[template.itemkey]" :disable-clear="disableClear" readonly :class="getFieldStyle(template)"></yytm-field>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.INTEGER"   :title="template.defaultshowname" :value="processNumber(data,template)" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.NUMBER"   :title="template.defaultshowname" :value="processNumber(data,template)" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DATE"    :title="template.defaultshowname" :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.BOOLEAN"    :title="template.defaultshowname" :value="getBooleanText(data[template.itemkey])" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.REF"    :title="template.defaultshowname" :value="processRef(data,template,isHeader,false)" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.SELECT" :title="template.defaultshowname" :class="getFieldStyle(template)">\t\t\t\t\t<template>\t\t\t\t\t\t<span v-html="processSelect(data,template)"></span>\t\t\t\t\t</template>\t\t\t\t</mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DEFDOC"    :title="template.defaultshowname" :value="processRef(data,template,isHeader,false)" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.DATETIME"    :title="template.defaultshowname" :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<yytm-field v-else-if="template.datatype==DataType.TEXTAREA"    :label="template.defaultshowname" type="textarea" rows="3" v-model="data[template.itemkey]" :disable-clear="disableClear" readonly :class="getFieldStyle(template)"></yytm-field>     \t\t<div v-else-if="template.datatype==DataType.DEFHTML && template.reftype==DataType.TEXTAREA" class="yyt-field" :class="getFieldStyle(template)"><label for="" class="yyt-field-label" v-text="template.defaultshowname"></label><div class="yyt-field-slot-wrap" v-html="data[template.itemkey]"></div></div>\t\t\t\t<div v-else-if="template.datatype==DataType.ATTACHMENT"></div>\t\t\t\t<mt-cell v-else-if="template.datatype==DataType.TIMESTAMP"   :title="template.defaultshowname" :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t\t<mt-cell v-else :title="template.defaultshowname+(template.nullflag==1?\'*\':\'\')"  :value="data[template.itemkey]" :class="getFieldStyle(template)"></mt-cell>\t\t\t</template>\t\t\t<yytm-card-popup v-if="showPopup&&(template.datatype==DataType.REF||template.datatype==DataType.SELECT||template.datatype==DataType.DEFDOC)" :state="popupState" :config="config" v-on:after-field-edit="afterFieldEdit"></yytm-card-popup>\t\t\t<yytm-datetime-picker v-if="(config.mode==pageStatus.OP_EDIT||config.mode==pageStatus.OP_ADD||config.mode==pageStatus.OP_REFADD_CARD)&&template.datatype==DataType.DATE" ref="datePicker" type="date" v-model="dateDefaultVal" @confirm="afterDateEdit"></yytm-datetime-picker>\t\t\t<yytm-datetime-picker v-if="(config.mode==pageStatus.OP_EDIT||config.mode==pageStatus.OP_ADD||config.mode==pageStatus.OP_REFADD_CARD)&&template.datatype==DataType.DATETIME" ref="datetimePicker" v-model="dateDefaultVal" @confirm="afterDateTimeEdit"></yytm-datetime-picker>\t\t</template>\t\t<template v-if="template.isGroup">\t\t\t<div class="card-body" >\t\t\t\t<template v-if="template.mainItem">\t\t\t\t\t<div class="card-body-name" :class="getFieldStyle(template.items[0])"><span>{{template.items[0].defaultshowname}}</span><div class="card-body-action" @click="fieldEditHandler($event,template.mainItem)">{{getFieldShowValue(template.items[0],data,isHeader)}}</div><i class="mint-cell-allow-right" v-if="(config.mode==pageStatus.OP_EDIT||config.mode==pageStatus.OP_ADD ||config.mode==pageStatus.OP_REFADD_CARD)&&template.mainItem.editflag==1"></i></div>\t\t\t\t\t<yytm-card-popup v-if="showPopup&&(template.mainItem.datatype==DataType.REF||template.mainItem.datatype==DataType.SELECT)" :state="popupState" :config="config" v-on:after-field-edit="afterFieldEdit"></yytm-card-popup>\t\t\t\t\t<div v-for="(itemTemplate,index) in template.items" v-if="index>0" class="card-body-prop" @click="fieldEditHandler($event,template.mainItem)">\t\t\t\t\t\t<span>{{itemTemplate.defaultshowname}}</span>：{{getFieldShowValue(itemTemplate,data,isHeader)}}\t\t\t\t\t</div>\t\t\t\t</template>\t\t\t\t<template v-else>\t\t\t\t\t<div class="card-body-name"><span>{{template.groupName}}</span><i class="mint-cell-allow-up"></i></div>\t\t\t\t\t<yytm-card-popup v-if="showPopup&&(template.mainItem.datatype==DataType.REF||template.mainItem.datatype==DataType.SELECT)" :state="popupState" :config="config" v-on:after-field-edit="afterFieldEdit"></yytm-card-popup>\t\t\t\t\t<div v-for="(itemTemplate,index) in template.items" v-if="itemTemplate.isShow" class="card-body-prop" @click="fieldEditHandler($event,itemTemplate)">\t\t\t\t\t\t<span>{{itemTemplate.defaultshowname}}</span>：{{getFieldShowValue(itemTemplate,data,isHeader)}}\t\t\t\t\t</div>\t\t\t\t</template>\t\t\t</div>\t\t</template>\t</li>',
            props: ["config", "data", "template", "isHeader", "index"],
            data: function () {
                return {
                    popupState: {
                        isShowPopup: !1
                    },
                    showPopup: !1,
                    selectedPks: null,
                    oldValue: null,
                    numberValue: null,
                    dateDefaultVal: this.data[this.template.itemkey],
                    disableClear: !1
                }
            },
            created: function () {
                var t = this;
                t.$props.template.datatype != t.DataType.DATE || t.$data.dateDefaultVal || t.$props.config.mode != t.pageStatus.OP_ADD && t.$props.config.mode != t.pageStatus.OP_REFADD_CARD || t.$set(t.$data, "dateDefaultVal", (new Date).format("yyyy-MM-dd")), t.$props.template.datatype != t.DataType.INTEGER && t.$props.template.datatype != t.DataType.NUMBER || t.disposeNumberByTemplate(t.$props.data[t.$props.template.itemkey] + "", this.template)
            },
            methods: {
                fieldEditHandler_tap: function (t) {
                    this.fieldEditHandler(t.e, t.template)
                },
                fieldEditHandler: function (t, e) {
                    if (this.$yytmToast.close(), (this.config.mode == this.pageStatus.OP_EDIT || this.config.mode == this.pageStatus.OP_ADD || this.config.mode == this.pageStatus.OP_REFADD_CARD) && 1 == e.editflag) {
                        var i = this,
                            a = "before-body-edit";
                        if (this.isHeader && (a = "before-header-edit"), this.hasEvent(a) && !this.apply(a, [e, this.index, this.data[e.itemkey]])) {
                            if (this.oldValue = YC.Utils.clone(this.data[e.itemkey]), this.$refs["card-field"])
                                for (var n in this.$refs["card-field"].$refs) this.$refs["card-field"].$refs[n].blur()
                        } else {
                            if (this.oldValue = YC.Utils.clone(this.data[e.itemkey]), e.datatype == this.DataType.SELECT || e.datatype == this.DataType.REF || e.datatype == this.DataType.DEFDOC) {
                                this.showPopup = !0, this.popupState.data = e, this.popupState.isShowPopup = !0;
                                var o = this.template.idcolname ? this.template.idcolname : this.template.itemkey,
                                    s = null;
                                this.data[o] && "" != this.data[o].pk && (s = this.data[o].pk ? this.data[o].pk : this.data[o]);
                                var r = null;
                                if (r = s && "string" == typeof s ? s.split(",") : [s], this.popupState.selectedPks = r, this.popupState.selectRefValues = [], r.length > 1)
                                    for (var l = this.oldValue.code.split(","), d = this.oldValue.name.split(","), c = this.oldValue.pk.split(","), u = 0; u < r.length; u++) this.popupState.selectRefValues.push({
                                        code: l[u],
                                        name: d[u],
                                        pk: c[u]
                                    });
                                else this.oldValue && ("object" == typeof this.oldValue ? this.popupState.selectRefValues.push(this.oldValue) : this.popupState.selectRefValues.push({
                                    pk: this.data[e.idcolname],
                                    name: this.data[e.itemkey]
                                }));
                                return
                            }
                            if (e.datatype == this.DataType.DATE && (this.data[e.itemkey] || (this.dateDefaultVal = (new Date).format("yyyy-MM-dd")), this.$refs.datePicker.open()), e.datatype == this.DataType.DATETIME) {
                                if (this.data[e.itemkey] ? this.dateDefaultVal = this.data[e.itemkey] : this.dateDefaultVal = (new Date).format("yyyy-MM-dd hh:mm:ss"), this.template.userdefine2 && this.template.userdefine2.indexOf("[format]") >= 0) {
                                    var p = this.template.userdefine2.substring(this.template.userdefine2.indexOf("[format]") + 8);
                                    this.template.format = p, this.$refs.datetimePicker.type = this.$refs.datetimePicker.convertFormatToType(p)
                                }
                                this.$refs.datetimePicker.open()
                            }
                        }
                        e.datatype == this.DataType.BOOLEAN && (console.log(t), "Y" != this.data[e.itemkey] ? this.$set(this.data, e.itemkey, "Y") : this.$set(this.data, e.itemkey, "N"), t.stopImmediatePropagation(), t.preventDefault(), Vue.nextTick(function () {
                            i.afterFieldEdit(i.data[e.itemkey])
                        }))
                    }
                },
                afterFieldEdit: function (t) {
                    var e = this.template;
                    e.isGroup && (e = e.mainItem);
                    var i = "after-body-edit";
                    this.isHeader && (i = "after-header-edit"), e.datatype == this.DataType.REF ? this.isHeader ? this.$set(this.data, e.itemkey, t) : (this.$set(this.data, e.itemkey, t.name), this.$set(this.data, e.idcolname, t.pk)) : e.datatype == this.DataType.SELECT ? this.$set(this.data, e.itemkey, t.pk) : e.datatype != this.DataType.INTEGER && e.datatype != this.DataType.NUMBER || this.$set(this.data, e.itemkey, t), e.datatype == this.DataType.SELECT || e.datatype == this.DataType.REF ? this.$emit(i, e, this.index, t, this.oldValue) : this.$emit(i, e, this.index, this.data[this.template.itemkey], this.oldValue), this.cleanTemplateError()
                },
                afterDateEdit: function (t) {
                    var e = "after-body-edit";
                    this.isHeader && (e = "after-header-edit"), this.$set(this.data, this.template.itemkey, t.format("yyyy-MM-dd")), this.$emit(e, this.template, this.index, this.data[this.template.itemkey], this.oldValue), this.cleanTemplateError()
                },
                afterDateTimeEdit: function (t) {
                    var e = "after-body-edit";
                    this.isHeader && (e = "after-header-edit"), this.$set(this.data, this.template.itemkey, t.format(this.template.format)), this.$emit(e, this.template, this.index, this.data[this.template.itemkey], this.oldValue), this.cleanTemplateError()
                },
                getBooleanText: function (t) {
                    return "Y" == t ? "是" : "N" == t ? "否" : 1 != this.template.editflag ? "不需要输入" : ""
                },
                disposeNumberByTemplate: function (t, e) {
                    if (t.indexOf(".") != t.lastIndexOf(".")) return void this.$set(this.data, e.itemkey, "");
                    if ("" != t) {
                        "Number" != typeof t && (-1 != t.indexOf(",") && (t = t.replace(/,/g, "")), t = Number(t));
                        if (/^(-?\d+)(\.\d+)?$/.test(t))
                            if (e.datatype == this.DataType.INTEGER) t = t.toFixed(0), this.$set(this.$data, "numberValue", t), this.$set(this.data, e.itemkey, t);
                            else {
                                var i;
                                if (e.reftype) {
                                    var a = e.reftype.split(",");
                                    i = Number(a[0]);
                                    a[5];
                                    i ? (t = parseFloat(t), t = t.toFixed(i)) : (t = parseFloat(t), t = t.toFixed(2)), t + "" == "NaN" && (t = ""), this.$set(this.data, e.itemkey, t)
                                }
                            }
                        else this.$set(this.data, e.itemkey, null)
                    }
                },
                getFieldShowValue: function (t, e, i) {
                    return e[t.itemkey] ? t.datatype == this.DataType.REF ? this.processRef(e, t, i) : t.datatype == this.DataType.BOOLEAN ? "Y" == e[t.itemkey] ? "是" : "N" == e[t.itemkey] ? "否" : "" : t.datatype == this.DataType.INTEGER || t.datatype == this.DataType.NUMBER ? this.processNumber(e, t) : e[t.itemkey] : "--"
                },
                getDateValue: function (t, e) {
                    return YC.Utils.clone(t[e.itemkey]) + ""
                },
                fieldValueChanged: function (t) {
                    var e = this.template;
                    this.config.mode != this.pageStatus.OP_EDIT && this.config.mode != this.pageStatus.OP_ADD && this.config.mode != this.pageStatus.OP_REFADD_CARD || "" == t && 1 == e.editflag && this.afterFieldEdit(null), e.datatype != this.DataType.INTEGER && e.datatype != this.DataType.NUMBER || this.disposeNumberByTemplate(t + "", this.template), this.cleanTemplateError()
                },
                cleanTemplateError: function () {
                    if (this.isHeader) this.$set(this.template, "_status", this.constants.FIELD_STATUS_NORMAL);
                    else {
                        for (var t = this.template._statusIds, e = 0; e < t.length; e++) t[e] == this.data._uuid && t.splice(e, 1);
                        this.$set(this.template, "_statusIds", t)
                    }
                },
                getEditPlaceHolder: function (t) {
                    return "请输入" + t
                },
                getFieldStyle: function (t) {
                    var e = this,
                        i = {};
                    return 1 == t.nullflag && (i["field-required"] = !0), (e.isHeader || e.contains(t._statusIds, this.data._uuid)) && (t._status == this.constants.SYS_FIELD_STATUS_ERROR ? i["has-error"] = !0 : t._status == this.constants.SYS_FIELD_STATUS_DANGER ? i["has-danger"] = !0 : t._status == this.constants.SYS_FIELD_STATUS_COMPLETE && (i["has-complete"] = !0)), (e.isHeader || e.contains(t._busiStatusIds, this.data._uuid)) && (t._busiStatus == this.constants.FIELD_STATUS_ERROR ? i["field-modify"] = !0 : t._busiStatus == this.constants.FIELD_STATUS_DANGER ? i["field-modify"] = !0 : t._busiStatus == this.constants.FIELD_STATUS_COMPLETE && (i["field-modify"] = !0)), i
                }
            },
            watch: {
                template: function (t, e) {
                    console.log(t)
                }
            }
        });
        Vue.component("yytm-card-jsignature", {
            template: '<div id="jsignature"><div class="pop-check"><div class="pop-check-title">签名</div><i class="icon-close" @click="onCancel"></i><div class="pop-check-content">\t<div class="wf-main signature">\t\t<div id="signature" class="signature-content"></div>\t</div>   <div class="pop-check-tip">请手写您的电子签名。</div></div><div class="pop-check-btnwrap"><div class="pop-check-btn cancel" @click="onCancel">取消</div><div class="pop-check-btn" @click="resetSign" >重置</div><div class="pop-check-btn confirm" @click="onConfirm">确定</div></div></div><div class="v-modal" @click="onCancel"></div></div>',
            props: ["ctrlStatus"],
            data: function () {
                return {
                    signTool: null,
                    signCtrlStatus: 0,
                    isSetSign: !1
                }
            },
            created: function () {
                var t = this;
                t.$props.ctrlStatus && t.$set(t.$data, "signCtrlStatus", t.$props.ctrlStatus)
            },
            mounted: function () {
                var t = this;
                t.$set(t.$data, "signTool", this.buildSignTool()), YC.Utils.invokeBusinessProcedure(this.$parent.config.location + "/getDefaultSignature.mjson", null, function (e) {
                    var i = e.invocationResult.data ? e.invocationResult.data.signature : null;
                    i && "" != i.trim() && t.setSign(i, null)
                })
            },
            methods: {
                onCancel: function () {
                    this.$emit("on-cancel")
                },
                onConfirm: function () {
                    var t = this.getSign();
                    if (2 == this.$data.signCtrlStatus && (null == t || "" == t || "undifined" == t || " " == t)) return this.$messagebox.alert("", {
                        message: "需要签名才可以提交！",
                        title: "提示",
                        confirmButtonText: "确定"
                    }), void this.$emit("on-cancel");
                    this.$emit("on-confirm", t)
                },
                buildSignTool: function () {
                    return $("#signature").html(""), $("#signature").jSignature({
                        UndoButton: !1,
                        height: "65vw",
                        width: "100%"
                    })
                },
                setSign: function (t, e) {
                    e || (e = "data:image/png;base64,"), this.$data.signTool.jSignature("setData", e + t), this.$data.isSetSign = !0
                },
                getSign: function (t) {
                    var e = this.$data.signTool;
                    if (!e) return " ";
                    t && "" != t.trim() || (t = "image");
                    var i = null;
                    if (!this.$data.isSetSign && 0 == e.jSignature("getData", "native").length) return " ";
                    var a = e.jSignature("getData", t);
                    return $.isArray(a) && 2 === a.length ? (i = a[1], YC.Logger.debug("手写签名生成base64编码" + i), i) : null
                },
                resetSign: function () {
                    this.$data.signTool.jSignature("reset"), this.$data.isSetSign = !1
                }
            }
        });
        Vue.component("yytm-card-popup", {
            template: '<div><template  v-if="state.data.datatype==DataType.REF || state.data.datatype==DataType.DEFDOC">\t<yytm-popup v-if="state.isShowPopup" v-model="state.isShowPopup" :modal="false" :position="position" style="width: 100%;">\t\t<yytm-ref v-if="state.data.datatype==DataType.REF || state.data.datatype==DataType.DEFDOC" :is-defdoc="isDefDocRef" :show="state.isShowPopup" :config="refConfig" :selected-pk-array="state.selectedPks" :select-ref-values="state.selectRefValues" @get-ref-data="getRefData" @close="close"></yytm-ref>\t\t\t<div v-else id="modalBox" class="list-block">\t\t\t\t<ul id="modalList">\t\t\t\t\t<li v-for="refItem in getAllSelectItem(state.data)">\t\t\t\t\t\t<mt-cell v-if="refItem.children" :title="refItem.showText" @click.native="editRefItem($event,refItem)" is-link></mt-cell>\t\t\t\t\t\t<mt-cell v-else :title="refItem.showText" @click.native="editRefItem($event,refItem)"></mt-cell>\t\t\t\t\t</li>\t\t\t\t</ul>\t\t\t</div>\t</yytm-popup></template><template  v-if="state.data.datatype!=DataType.REF &&state.data.datatype!=DataType.DEFDOC">\t<yytm-popup v-if="state.isShowPopup" v-model="state.isShowPopup" :modal="true" :position="position" style="width: 100%;">\t\t<template v-if="isMultiSelect">\t\t\t<div id="modalBox" class="list-block">\t\t\t\t<div class="multi-title">\t\t\t\t\t<div class="multi-btn" @click="onMultCancelClick()">取消</div><div class="multi-btn" @click="onMultSelClick()">确认</div>\t \t\t\t</div>\t\t\t\t<ul id="modalList">\t\t\t\t\t<mt-checklist v-model="selectTempValue" :options="allSelectItems"></mt-checklist>\t\t\t\t</ul>\t\t\t</div>\t\t</template>\t\t<template v-else>\t\t\t<div  id="modalBox" class="list-block">\t\t\t\t<ul id="modalList">\t\t\t\t\t<li v-for="refItem in allSelectItems">\t\t\t\t\t\t<mt-cell v-if="refItem.children" :title="refItem.showText" @click.native="editRefItem($event,refItem)" is-link></mt-cell>\t\t\t\t\t\t<mt-cell v-else :title="refItem.showText" @click.native="editRefItem($event,refItem)"></mt-cell>\t\t\t\t\t</li>\t\t\t\t</ul>\t\t\t</div>\t\t</template>\t</yytm-popup></template></div>',
            props: ["state", "config"],
            data: function () {
                var t = this.$props.state.data.defaultshowname,
                    e = !1;
                return this.state.data.userdefine3 && this.state.data.userdefine3.indexOf("REFSELECTTYPE=MULTI") >= 0 && (e = !0), {
                    refData: "",
                    isDefDocRef: this.state.data.datatype == Vue.prototype.DataType.DEFDOC,
                    isMultiSelect: e,
                    refConfig: {
                        location: this.config.location ? this.config.location : null,
                        refType: this.state.data.reftype,
                        pk_defdoclist: this.state.data.pk_defdoclist,
                        refName: this.state.data.reftype,
                        refKey: this.state.data.itemkey,
                        refTitle: t,
                        isMultiSelect: e,
                        refParams: this.state.data._refParams,
                        refLeftTreeParams: this.state.data._refLeftTreeParams
                    },
                    selectedPks: this.state.selectedPks,
                    selectRefValues: this.state.selectRefValues,
                    position: this.state.data.datatype == this.DataType.SELECT ? "bottom" : "right",
                    selectTempValue: this.state.selectedPks ? this.state.selectedPks : [],
                    allSelectItems: this.state.data.datatype == this.DataType.SELECT ? this._getAllSelectItem() : null
                }
            },
            methods: {
                getRefData: function (t) {
                    if (this.state.isShowPopup = !1, this.refConfig.isMultiSelect && t.refValue.length > 1) {
                        for (var e = t.refValue[0], i = 1; i < t.refValue.length; i++) e.code += "," + t.refValue[i].code, e.name += "," + t.refValue[i].name, e.pk += "," + t.refValue[i].pk;
                        this.$emit("after-field-edit", e)
                    } else t.refValue[0] ? this.$emit("after-field-edit", t.refValue[0]) : this.$emit("after-field-edit", null)
                },
                editRefItem: function (t, e) {
                    switch (t.stopImmediatePropagation(), t.preventDefault(), this.state.isShowPopup = !1, this.state.data.datatype) {
                        case this.DataType.SELECT:
                            if (!this.isMultiSelect) {
                                this.$emit("after-field-edit", {
                                    name: e.showText,
                                    pk: e.index
                                });
                                break
                            }
                            e.isChecked = !e.isChecked
                    }
                },
                onMultSelClick: function () {
                    if (console.log(this.selectTempValue), 0 == this.selectTempValue.length) return this.$emit("after-field-edit", {
                        name: null,
                        pk: null
                    }), void (this.state.isShowPopup = !1);
                    for (var t = {
                        name: "",
                        pk: "",
                        code: ""
                    }, e = 0; e < this.selectTempValue.length; e++)
                        for (var i = 0; i < this.allSelectItems.length; i++) !this.selectTempValue[e] || this.selectTempValue[e] != this.allSelectItems[i].index && this.selectTempValue[e].index != this.allSelectItems[i].index || (t.name += "," + this.allSelectItems[i].label, t.pk += "," + this.allSelectItems[i].index, t.code += "," + this.allSelectItems[i].index);
                    return t["code"] = t["code"].substring(1), t["pk"] = t["pk"].substring(1), t["name"] = t["name"].substring(1), this.$emit("after-field-edit", t), void (this.state.isShowPopup = !1)
                },
                onMultCancelClick: function () {
                    this.selectTempValue = [], this.state.isShowPopup = !1
                },
                _getAllSelectItem: function () {
                    for (var t = this.getAllSelectItem(this.state.data), e = 0; e < t.length; e++) t[e].label = t[e].showText, t[e].value = t[e].index;
                    return t
                },
                close: function () {
                    this.$set(this.state, "isShowPopup", !1)
                }
            }
        });
        Vue.component("yytm-card", {
            template: "<div class='content-box'>\t\t<slot name='leftButton'></slot>\t\t<div class='content-wrap' :class='{\"content-has-footer\": hasButtonsShow || config.isUseButtonSlot, \"content-no-footer\": !hasButtonsShow && !config.isUseButtonSlot}' >\t\t\t<div class='content-box' id='yytm-card-content'>\t\t\t\t<template v-for='heardTemplateTab in cardData.template.HEADER'>\t\t\t\t\t<yytm-card-block :isHeader='true' :datas='cardData.data.HEADER' :handler='handler' :template='heardTemplateTab.items' :config='config' v-on:after-header-edit='afterHeadEdit' v-on:before-header-edit='beforeHeadEdit' ref='yytmCardBlock'></yytm-card-block>\t\t\t\t</template>\t\t\t\t<div class='card-room'>     \t\t<slot name='card-body-before' v-if=\"isCardReady\"></slot>\t\t\t\t<template v-for='(body,key,index) in cardData.data.BODY'>\t\t\t\t\t<yytm-card-block v-if='body' :isHeader='false' :show-row-num='isShowRowNum(body,index)' :refreshflag='bodyRefreshFlag' :datas='body' :handler='handler' :template='cardData.template.BODY[key]' :show-template='cardData.showTemplate.BODY[key]' :config='config' v-on:after-body-edit='afterBodyEdit' v-on:before-body-edit='beforeBodyEdit' @add-body-data-by-scan='addCardBodyDataByScan' @add-body-data='addCardBodyData' @copy-body-data='copyCardBodyData' @delete-body-data='deleteCardBodyData' :is-row-add-btn-show='isBodyAddButtonShow()' :is-row-del-btn-show='isRowDelShow' :is-scan-btn-show='isScanShow' @on-block-attachment-change='onBlockAttachmentChanged' @on-show-item-click='onShowItemClick' @on-tab-title-click='onBodyTitleClick' ref='yytmCardBlock'></yytm-card-block>\t\t\t\t</template>             </div>     \t\t<slot name='card-body' v-if=\"isCardReady\"></slot>\t\t\t\t<template v-if='cardData.template.HEADER!=undefined' >\t\t\t\t\t<div class='list-block' v-if='workFlowHistoryNumber>0' > \t\t\t\t\t\t<ul>\t\t\t\t\t\t\t<mt-cell title='审批流信息' :value='workFlowHistoryNumber+\"条\"' icon='workflow-history' is-link @click.native='changeToHistory'></mt-cell>\t\t\t\t\t\t</ul>\t\t\t\t\t</div>\t\t\t\t</template>     \t\t<slot name='card-tail' v-if=\"isCardReady\"></slot>\t\t\t\t<div class='list-block'  v-if='config.isShowAttachment && hasAttachment && !(config.mode == pageStatus.OP_NOTEDIT_CARD && attachmentNum == 0)'>\t\t\t\t\t<div class='content-block-title content-block-collapse'>图片附件\t\t\t\t\t\t<template>\t\t\t\t\t\t\t<span v-if='attachments.length>0'>({{attachments.length}})</span>\t\t\t\t\t\t\t<span v-else>({{attachmentNum}})</span>\t\t\t\t\t\t</template>\t\t\t\t\t</div>\t\t\t\t\t<yytm-attachment :config='attachmentConfig' :refresh-flag='attachmentFlag' @on-attachment-change='onAttachmentChanged'></yytm-attachment>\t\t\t\t</div>\t\t\t</div>\t\t</div>\t\t<yytm-card-assigntip v-if='showPopCheck' :datas='assignInfo' @on-confirm='onAssignTipConfirm' @on-cancel='onAssignTipCancel'></yytm-card-assigntip>" + '\t\t<div class="grid-shopping" :class="{\'active\':showRefWrap}" v-show="showRefWrap">\t\t\t<div class="grid-shopping-list">          \t<ul>\t\t\t\t\t<template v-for = "(splitmode, index) in refBillCaches">\t\t\t\t\t\t<li\t:class="{\'active\':splitmode.isactive}" v-tap="{methods:clickSplitMode,items:splitmode,index:index}" :id=index>\t\t\t\t\t\t\t<div class="grid-box">\t\t\t\t\t\t\t\t<div class="grid-c">\t\t\t\t\t\t\t\t\t<div class="grid-cell cell-company">{{splitmode.refTitle}}</div>\t\t\t\t\t\t\t\t\t<div class="cell-state">\t\t\t\t\t\t\t\t\t\t<button :class="getRefBillStatusClass(splitmode.data, index)">{{getRefBillStatusName(splitmode.data, index)}}</button>\t\t\t\t\t\t\t\t\t\t<button class="btn-close" v-tap="{methods:closeSplitBillByIcon,items:splitmode,index:index}"><i class="fa fa-times"></i></button>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</li>\t\t\t\t\t</template>\t\t\t\t</ul>          </div>\t\t</div>\t\t<div class="bar bar-footer" :class="{\'bar-total\':this.$slots[\'card-button\'] && this.$slots[\'card-button\'][0]}" v-if="hasButtonsShow || (this.$slots[\'card-button\'] && this.$slots[\'card-button\'][0])">\t\t\t<div class="buttons-row" >     \t\t\t<slot name="card-button" v-if="isCardReady"></slot>\t\t\t\t<button v-show="showSplitIcon" v-tap="{methods:clickShowSplitIcon}" type="button" class="ng-icon">\t\t\t\t\t<i class="fa fa-shopping-basket"></i>\t\t\t\t\t\t<span class="badge">{{splitBillNum}}</span>\t\t\t\t</button>\t\t\t\t<button v-for="button in buttons" v-show="contains(button.enabledStatus,config.mode)&&(contains(button.enabledBizStatus,cardData.data.HEADER.vbillstatus))&&(showButton(button, cardData.data))" type="button" :class="button.className?button.className:\'ng-btn btn-success\'" @click="buttonClick($event,button)">{{button.text}}</button>\t\t\t</div>\t\t</div>\t\t<yytm-card-jsignature v-if=\'showJsignature\' :ctrlStatus=\'jsignatureCtrlStatus\' @on-confirm=\'onJsignatureTipConfirm\' @on-cancel=\'onJsignatureTipCancel\'></yytm-card-jsignature>\t</div>',
            props: ["config", "handler", "pluginData"],
            data: function () {
                var t = this;
                return this.$props.config["tempId"] = Uft.UUID(20, 16), {
                    hasButtonsShow: !1,
                    cardData: {
                        template: {},
                        showTemplate: {},
                        data: {
                            HEADER: {},
                            BODY: {}
                        }
                    },
                    btnConfig: [],
                    todoBtnConfig: [],
                    buttons: [],
                    cardDelData: {
                        BODY: {}
                    },
                    cardDefaultValue: "",
                    workFlowHistoryNumber: 0,
                    workFlowHistory: [],
                    workFlowInfo: null,
                    isRowAddShow: !0,
                    isRowDelShow: !0,
                    isScanShow: !1,
                    hasAttachment: !1,
                    attachmentConfig: {
                        billType: this.config.billType,
                        editable: !1,
                        addable: !1,
                        attachments: [],
                        location: this.config.location,
                        billId: this.config.billId,
                        tempId: this.config.tempId
                    },
                    bodyAttachments: [],
                    bodyAttachmentConfig: {},
                    hideAttachments: [],
                    attachments: [],
                    attachmentFlag: !1,
                    attachmentNum: 0,
                    hasAttachmentLoad: !1,
                    showAttachment: t.$props.config.mode == t.pageStatus.OP_ADD || t.$props.config.mode == t.pageStatus.OP_REFADD_CARD || t.$props.config.mode == t.pageStatus.OP_EDIT,
                    showPopCheck: !1,
                    assignInfo: null,
                    assignParams: null,
                    assignCallback: null,
                    showRefWrap: !1,
                    refBillCaches: [],
                    refBillKey: "",
                    showSplitIcon: !1,
                    splitBillNum: 0,
                    isCardReady: !1,
                    isTodoCard: !!YC.Utils.getUrlParam(window.href, "todoId"),
                    jsignatureCtrlStatus: 0,
                    showJsignature: !1,
                    jsignatureParams: null,
                    jsignatureCallback: null,
                    bodyRefreshFlag: !1
                }
            },
            created: function () {
                var t = this;
                if (t.btnConfig = t.handler.getCardButtonDefine(t, t.handler), t.todoBtnConfig = t.handler.getCardTodoButtonDefine(t), t.initAttachmentConfig(), t.getCardTemplateAndData(), t.loadCardAttachmentNum(t.config.billId), t.loadWorkFlowHistory(t.config.billId, t.config.billType), t.isTodoCard) {
                    var e = YC.Utils.getUrlParam(window.href, "todoId");
                    t.loadWorkFlowInfo(e)
                }
                var i = t.$props.config["isRowDelShow"];
                i || 0 != i || t.$set(t.$data, "isRowDelShow", !1), this.config.mode == this.pageStatus.OP_ADD || this.config.mode == this.pageStatus.OP_EDIT || this.config.mode == this.pageStatus.OP_REFADD_CARD ? YC.Navigation.setBackGestureEnable(!1) : YC.Navigation.setBackGestureEnable(!0)
            },
            methods: {
                getCardTemplateAndData: function () {
                    var t = this;
                    this.config.silentlyLoading || t.$indicator.open("加载中...");
                    var e = function (e) {
                            if (t.$indicator.close(), e.invocationResult.isSuccessful)
                                if (t.disposeTemplateErrorTip(e.invocationResult.template), t.disposeTemplateGroup(e.invocationResult.template), t.disposeTemplateAttachment(e.invocationResult.template), t.cardData.template = e.invocationResult.template, t.disposeTemplateShowOrEdit(e.invocationResult.template), e.invocationResult.data.success) {
                                    if (t.config.mode == t.pageStatus.OP_ADD) {
                                        var i = e.invocationResult.data.data;
                                        t.cardDefaultValue = YC.Utils.clone(i), t.initCardHeaderData(), t.initCardBodyData(), t.disposeCardData(t.cardData.data)
                                    } else t.disposeCardData(e.invocationResult.data.data), t.$set(t.cardData, "data", e.invocationResult.data.data);
                                    t.initCardButton(), Vue.nextTick(function () {
                                        t.$indicator.close(), t.$set(t.$data, "isCardReady", !0), t.$emit("card-ready", {
                                            cardInstance: t
                                        }), t.handler.onCardComponentLoad(t)
                                    })
                                } else t.$messagebox.alert("", {
                                    message: e.invocationResult.data.msg,
                                    title: "警告",
                                    confirmButtonText: "知道了"
                                }).then(function (t) {
                                    "confirm" == t && YC.Window.closeWindow()
                                })
                        },
                        i = t.config.location + "/loadMobileBillCardData.mjson";
                    t.$props.config.isLoadRefSrcBill && "Y" == t.$props.config.isLoadRefSrcBill ? i = t.config.location + "/loadMobileBillRefCardData.mjson" : t.config.mode == t.pageStatus.OP_ADD && (i = t.config.copyBillId ? t.config.location + "/copyMobileCardData.mjson" : t.config.location + "/getMobileDefaultValue.mjson");
                    var a = {
                        dataUrl: i,
                        templateUrl: this.config.location + "/getCardComponentTemplate.mjson",
                        isLoadData: !1,
                        isLoadTemplate: !0,
                        params: {
                            componentCode: "HtmlcomponentMobileBill",
                            funCode: t.config.funCode,
                            nodeKey: void 0 !== t.config.nodeKey && null != t.config.nodeKey ? t.config.nodeKey : "MOBILE_EDIT",
                            billType: t.config.billType,
                            billId: t.config.copyBillId ? t.config.copyBillId : t.config.billId
                        }
                    };
                    t.handler.getCardTemplate(t, a, function (i) {
                        if (a.isLoadData = !0, a.isLoadTemplate = !1, i.invocationResult.isSuccessful)
                            if (i.invocationResult.template.keysmap && t.revertTemplateData(i.invocationResult.template), 1 == t.$props.config.isRef || "true" == t.$props.config.isRef) {
                                t.$set(t.config, "mode", t.pageStatus.OP_REFADD_CARD);
                                var n = t._getCardRefBillParams(i.invocationResult.template);
                                t.handler.getCardRefBillData(t, n, function (n) {
                                    if (n.invocationResult.isSuccessful) {
                                        n.invocationResult.data.success || t.$messagebox.alert("", {
                                            message: n.invocationResult.data.msg,
                                            title: "警告",
                                            confirmButtonText: "确定"
                                        }).then(function (t) {
                                            "confirm" == t && YC.Window.closeWindow()
                                        });
                                        var o = n.invocationResult.data.datas,
                                            s = n.invocationResult.data.splitMode,
                                            r = t.cacheRefBills(o, s);
                                        t.$set(t.$data, "refBillCaches", r), o && o.length > 1 && (t.$set(t.$data, "showRefWrap", !0), t.$set(t.$data, "showSplitIcon", !0)), t.$set(t.$data, "splitBillNum", o.length);
                                        var l = o[0];
                                        i.invocationResult.data = {
                                            data: l,
                                            success: !0
                                        }, e(i);
                                        var d = {};
                                        d["cardConfig"] = a, t.handler.processBillAfterRef(t, d)
                                    }
                                })
                            } else t.handler.getCardData(t, a, function (t) {
                                t.invocationResult.isSuccessful && (t.invocationResult.template = i.invocationResult.template, e(t))
                            })
                    })
                },
                clickShowSplitIcon: function () {
                    var t = this;
                    t.$set(t.$data, "showRefWrap", !t.$data.showRefWrap)
                },
                revertTemplateData: function (t) {
                    var e = t.keysmap,
                        i = {};
                    for (var a in e) i[e[a]] = a;
                    if (t.BODY)
                        for (var n in t.BODY) {
                            for (var o = t.BODY[n].items, s = [], r = 0; r < o.length; r++) {
                                var l = o[r],
                                    d = {};
                                for (var a in l) d[i[a]] = l[a];
                                s.push(d)
                            }
                            t.BODY[n].items = s
                        }
                    if (t.HEADER)
                        for (var n in t.HEADER) {
                            for (var o = t.HEADER[n].items, s = [], r = 0; r < o.length; r++) {
                                var l = o[r],
                                    d = {};
                                for (var a in l) d[i[a]] = l[a];
                                s.push(d)
                            }
                            t.HEADER[n].items = s
                        }
                },
                cacheRefBills: function (t, e) {
                    for (var i = this, a = {}, n = this.isSplitModeWithIndex(e), o = 0; o < t.length; o++) {
                        var s = this.getBillRefKey(e.fieldPKValueList[o], n),
                            r = this.getRefTitleArray(e.fieldValueList[o], n);
                        a[s] = {}, a[s].title = r, a[s].data = t[o], a[s].isnew = !0, a[s].refkeyfields = e.fieldNameAry, a[s].pageStatus = i.pageStatus.OP_REFADD_CARD, a[s].cardDelData = {
                            BODY: {}
                        };
                        for (var l = r[0], d = 1; d < r.length; d++) l += " " + r[d];
                        a[s].refTitle = l, 0 == o && (a[s].isactive = !0, i.$set(i.$data, "refBillKey", s))
                    }
                    return a
                },
                getRefBillStatusClass: function (t, e) {
                    return t.HEADER[this.config.billIdField] ? {
                        "state-btn success": !0
                    } : {
                        "state-btn warn": !0
                    }
                },
                getRefBillStatusName: function (t, e) {
                    return t.HEADER[this.config.billIdField] ? "已保存" : "未保存"
                },
                getRefTitleArray: function (t, e) {
                    var i = new Array,
                        a = t.length;
                    e && a--;
                    for (var n = 0; n < a; n++) this.isNotBlank(t[n]) && i.push(t[n]);
                    return 0 == i.length && i.push("<空>"), i
                },
                getBillRefKey: function (t, e) {
                    var i = "",
                        a = t.length;
                    e && a--;
                    for (var n = 0; n < a; n++) this.isNotBlank(t[n]) ? i += t[n] : i += "null";
                    return i = i.replace(".", "")
                },
                isSplitModeWithIndex: function (t) {
                    for (var e = t.fieldValueList[0], i = 0; i < e.length; i++)
                        if (e[i].indexOf("id_splitmode") >= 0) return !0;
                    return !1
                },
                clickSplitMode: function (t) {
                    var e = t.items,
                        i = t.index,
                        a = this;
                    if (i != a.$data.refBillKey) {
                        var n = e.data;
                        a.$set(a.$data, "refBillKey", i), a.$set(e, "isactive", !0), a.$set(this.cardData, "data", n), a.$set(a.config, "mode", e.pageStatus), a.$set(a, "cardDelData", e.cardDelData);
                        var o = n.HEADER,
                            s = a.config.billIdField;
                        a.$set(a.config, "billId", o[s]);
                        for (var r in a.$data.refBillCaches) {
                            var l = a.$data.refBillCaches[r];
                            r != i && l.isactive && a.$set(l, "isactive", !1)
                        }
                    }
                },
                closeSplitBillByIcon: function (t) {
                    t.event.stopPropagation;
                    var e = (t.items, t.index),
                        i = this;
                    if (i.$data.refBillKey == e) i.afterCancelOrDelRefBill();
                    else {
                        Vue.delete(i.$data.refBillCaches, e);
                        var a = i.$data.refBillCaches,
                            n = 0;
                        for (var o in a) n++;
                        1 == n && (i.$set(i.$data, "showRefWrap", !1), i.$set(i.$data, "showSplitIcon", !1)), i.$set(i.$data, "splitBillNum", n)
                    }
                },
                afterCancelOrDelRefBill: function () {
                    var t = this,
                        e = t.$data.refBillKey;
                    if (!t.isBlank(e)) {
                        Vue.delete(t.$data.refBillCaches, e);
                        var i, a = 0,
                            n = !0,
                            o = t.$data.refBillCaches;
                        for (var s in o) n && (i = s), a++, n = !1;
                        0 == a && t.$emit("cardback");
                        var r = o[i],
                            l = {
                                items: r,
                                index: i
                            };
                        t.clickSplitMode(l), 1 == a && (t.$set(t.$data, "showRefWrap", !1), t.$set(t.$data, "showSplitIcon", !1)), t.$set(t.$data, "splitBillNum", a)
                    }
                },
                isBlank: function (t) {
                    return "string" == typeof t ? void 0 == t || null == t || "" == t : void 0 == t || null == t
                },
                isNotBlank: function (t) {
                    return "string" == typeof t ? void 0 != t && null != t && "" != t : void 0 != t && null != t
                },
                getCardDefaultValue: function (t) {
                    var e = this;
                    this.config.silentlyLoading || e.$indicator.open("加载中...");
                    var i = {
                            funCode: this.config.funCode,
                            nodeKey: void 0 !== this.config.nodeKey && null != this.config.nodeKey ? this.config.nodeKey : "MOBILE_EDIT",
                            billType: this.config.billType
                        },
                        a = function (i) {
                            e.$indicator.close(), i.invocationResult.success && (e.cardDefaultValue = i.invocationResult.data), t && "function" == typeof t && t()
                        };
                    YC.Utils.invokeBusinessProcedure(this.config.location + "/getMobileDefaultValue.mjson", i, a)
                },
                disposeTemplateAttachment: function (t) {
                    if (t.hasAttachment && this.$set(this.$data, "hasAttachment", !0), t.BODY)
                        for (var e in t.BODY)
                            for (var i = 0; i < t.BODY[e].items.length; i++) {
                                var a = t.BODY[e].items[i];
                                a.datatype == this.DataType.ATTACHMENT && (this.bodyAttachmentConfig[e] || (this.bodyAttachmentConfig[e] = {}), this.bodyAttachmentConfig[e][a.itemkey] = !0)
                            }
                },
                disposeTemplateGroup: function (t) {
                    function e(t) {
                        return {
                            isGroup: !0,
                            groupName: t
                        }
                    }

                    function i(t) {
                        var e = t.options;
                        if (!e || e.indexOf("mulicolhead") < 0) return null;
                        var i = e.indexOf("mulicolhead") + 13,
                            a = e.lastIndexOf('"');
                        return e.substring(i, a)
                    }

                    function a(t) {
                        for (var e in t.items) {
                            var i = t.items[e];
                            if (t.groupName == i.defaultshowname) {
                                t.mainItem = i;
                                break
                            }
                        }
                    }

                    function n(t) {
                        for (var n in t) {
                            for (var s = !0, r = t[n].items, l = 0; l < r.length;) {
                                var d = r[l],
                                    c = i(d);
                                c ? (r.splice(l, 1), c != o.groupName ? (o.groupName && (a(o), r.splice(l, 0, o), l++), o = e(c), o.items = [d], s = !1) : o.items.push(d)) : (0 == s && (a(o), r.splice(l, 0, o), s = !0, o = {}, l++), l++)
                            }
                            0 == s && (a(o), r.push(o))
                        }
                        o = {}
                    }

                    var o = e(),
                        s = t.BODY;
                    n(t.HEADER), n(s)
                },
                disposeTemplateErrorTip: function (t) {
                    var e = this,
                        i = t.BODY,
                        a = t.HEADER,
                        n = function (t) {
                            for (var i in t)
                                for (var a = t[i].items, n = 0; n < a.length; n++) {
                                    var o = a[n];
                                    o._status = e.constants.FIELD_STATUS_NORMAL, o._statusIds = []
                                }
                        };
                    n(i), n(a)
                },
                disposeTemplateShowOrEdit: function (t) {
                    this.cardData.template.HEADER = t.HEADER;
                    var e = t.BODY,
                        i = {},
                        a = {};
                    for (var n in e) n.indexOf("_show") == n.length - 5 ? a[n.replace("_show", "")] = function (t) {
                        for (var e = 0; e < t.items.length; e++)
                            if (t.items[e].isGroup)
                                for (var i = t.items[e], a = i.items, n = 0; n < a.length;) {
                                    var o = a[n];
                                    if (o.defaultshowname == i.groupName + "_mny") i["rightItem"] = o, o.defaultshowname = o.defaultshowname.replace("_mny", ""), a.splice(n, 1);
                                    else if (o.defaultshowname == i.groupName + "_icon") i["leftItem"] = o, o.defaultshowname = o.defaultshowname.replace("_icon", ""), a.splice(n, 1);
                                    else if (o.defaultshowname.indexOf("_subtitle") >= 0) {
                                        var s = o.defaultshowname.substring(o.defaultshowname.indexOf("_subtitle") + 9);
                                        s.length > 0 && (s = s.substring(1)), i["subTitleItem"] = o, o.defaultshowname = s, a.splice(n, 1)
                                    } else o.defaultshowname == i.groupName + "_num" ? (i["rightNumItem"] = o, o.defaultshowname = o.defaultshowname.replace("_num", ""), a.splice(n, 1)) : n++
                                }
                        return t
                    }(e[n]) : i[n] = e[n];
                    this.cardData.template.BODY = i, this.cardData.showTemplate.BODY = a
                },
                disposeCardData: function (t) {
                    var e = this,
                        i = t.HEADER;
                    for (var a in i)
                        if (i[a] instanceof Array) {
                            for (var n = (i[a], {
                                name: "",
                                code: "",
                                pk: ""
                            }), o = 0; o < i[a].length; o++) o > 0 && (n.name += ",", n.code += ",", n.pk += ","), n.name += i[a][o].name, n.code += i[a][o].code, n.pk += i[a][o].pk;
                            i[a] = n
                        }
                    if (e.$data.attachments && e.$data.attachments.length > 0 || e.$data.bodyAttachments && e.$data.bodyAttachments.length > 0) {
                        var s = e.$data.attachments.concat(e.$data.bodyAttachments);
                        return void e.disposeAttachmentInfos(s, t)
                    }
                    e.hasAttachmentLoad || e.loadCardAttachmentInfo(e.config.billId, function (i) {
                        e.disposeAttachmentInfos(i, t)
                    })
                },
                disposeAttachmentInfos: function (t, e) {
                    for (var i = 0; i < t.length; i++) t[i].fileName = t[i].fileName ? t[i].fileName : t[i].filename;
                    var a = this,
                        n = [];
                    if (e.BODY)
                        for (var o in a.bodyAttachmentConfig) {
                            var s = e.BODY[o];
                            if (s)
                                for (var r = 0; r < s.length; r++) {
                                    var l = s[r];
                                    for (var d in a.bodyAttachmentConfig[o]) {
                                        var c = l[d];
                                        if (c)
                                            if (c && void 0 == c.value) {
                                                for (var u = c, p = [], m = u.split(","), i = 0; i < m.length; i++)
                                                    for (var f = 0; f < t.length; f++) m[i] == t[f].fileName && (p.push(t[f]), t.splice(f, 1));
                                                l[d] = {
                                                    value: u,
                                                    attachments: p
                                                }, n = n.concat(p)
                                            } else {
                                                for (var u = c.value, p = [], m = u.split(","), i = 0; i < m.length; i++)
                                                    for (var f = 0; f < t.length; f++) m[i] == t[f].fileName && (p.push(t[f]), t.splice(f, 1));
                                                l[d] = {
                                                    value: u,
                                                    attachments: p
                                                }, n = n.concat(p)
                                            }
                                        else l[d] = {
                                            value: "",
                                            attachments: []
                                        }
                                    }
                                }
                        }
                    a.$data.attachmentConfig.attachments = [];
                    for (var i = 0; i < t.length; i++) a.$data.attachmentConfig.attachments.push(t[i]);
                    a.$data.attachments = t, a.$data.bodyAttachments = n, a.$data.attachmentNum = t.length
                },
                showButton: function (t, e) {
                    var i = this,
                        a = {
                            carddata: e
                        },
                        n = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                        o = JSON.parse(n);
                    o.cuserid;
                    if ("btn_todo_approve" == t.id || "btn_todo_disapprove" == t.id || "btn_todo_reject" == t.id) {
                        if (!YC.Utils.getUrlParam(window.href, "todoId")) return !1;
                        if (i.workFlowInfo) {
                            if ("Y" == i.workFlowInfo.ischeck) return !1
                        } else if ("1" != YC.Utils.getUrlParam(window.href, "todoType")) return !1
                    } else if ("btn_todo_unapprove" == t.id) {
                        if (!YC.Utils.getUrlParam(window.href, "todoId")) return !1;
                        if (i.workFlowInfo) {
                            if ("N" == i.workFlowInfo.ischeck) return !1
                        } else if ("2" != YC.Utils.getUrlParam(window.href, "todoType")) return !1
                    }
                    return this.handler.isButtonShow(this, t, a)
                },
                getHeadField: function (t) {
                    var e = this.$data.cardData.template.HEADER;
                    if (null == e || void 0 == e) return null;
                    var i;
                    for (var a in e) {
                        var n = e[a].items;
                        if (null == i || void 0 == i)
                            for (var o = 0; o < n.length; o++)
                                if (null != n[o] && void 0 != n[o] && t == n[o].itemkey) {
                                    i = n[o];
                                    break
                                }
                    }
                    return i
                },
                getBodyField: function (t, e) {
                    var i;
                    if (null == e || void 0 == e) {
                        i = [];
                        var a = this.$data.cardData.template.BODY;
                        if (null != a && void 0 != a)
                            for (var n in a) i = i.concat(this.$data.cardData.template.BODY[n].items)
                    } else i = this.$data.cardData.template.BODY[e].items;
                    if (null == i || void 0 == i || 0 == i.length) return null;
                    for (var o, s = 0; s < i.length; s++)
                        if (null != i[s] && void 0 != i[s] && t == i[s].itemkey) {
                            o = i[s];
                            break
                        }
                    return o
                },
                getHeadFieldValue: function (t) {
                    var e, i = this.$data.cardData.data.HEADER;
                    return null != i && void 0 != i && (e = i[t]), e
                },
                getBodyFieldValue: function (t, e) {
                    var i;
                    return null != t && void 0 != t && (i = t[e]), i
                },
                setHeadFieldValue: function (t, e) {
                    var i = this.$data.cardData.data.HEADER;
                    null != i && void 0 != i && this.$set(i, t, e)
                },
                setBodyFieldValue: function (t, e, i) {
                    null != t && void 0 != t && (this.$set(t, e, i), t["isNew"] || (t["isUpdate"] = !0))
                },
                newParams: function () {
                    var t = {};
                    return t["templateID"] = this.$data.cardData.template.TEMPLATEID, t["funCode"] = this.$props.config.funCode, t["nodeKey"] = void 0 !== this.$props.config.nodeKey && null != this.config.nodeKey ? this.config.nodeKey : "MOBILE_EDIT", t["billType"] = this.$props.config.billType, t["billId"] = this.$props.config.billId, t["tabCode"] = this.$data.cardData.template.headerTabCode, t["headerTabCode"] = this.$data.cardData.template.headerTabCode, t["bodyTabCode"] = this.$data.cardData.template.bodyTabCode, t
                },
                initCardHeaderData: function () {
                    var t = this,
                        e = "" != t.cardDefaultValue ? t.cardDefaultValue.HEADER : "";
                    for (var i in t.cardData.template.HEADER) {
                        for (var a = t.cardData.template.HEADER[i].items, n = new Object, o = 0; o < a.length; o++) {
                            var s = a[o];
                            if (0 == s.datatype || 9 == s.datatype) n[s.itemkey] = "" != e && void 0 != e[s.itemkey] ? e[s.itemkey] : "";
                            else if (3 == s.datatype) {
                                var r = "";
                                "" != e && void 0 != e[s.itemkey] && (r = e[s.itemkey]), n[s.itemkey] = r
                            } else 1 == s.datatype ? n[s.itemkey] = "" != e && void 0 != e[s.itemkey] ? e[s.itemkey] : "" : 2 == s.datatype ? n[s.itemkey] = "" != e && void 0 != e[s.itemkey] ? e[s.itemkey] : "" : 5 == s.datatype ? n[s.itemkey] = "" != e && void 0 != e[s.itemkey] ? e[s.itemkey] : {
                                name: "请选择",
                                pk: "",
                                code: ""
                            } : 6 == s.datatype || 1 == s.datatype ? n[s.itemkey] = e[s.itemkey] : 4 == s.datatype && ("" != e && void 0 != e[s.itemkey] ? "boolean" == typeof e[s.itemkey] && (e[s.itemkey] ? n[s.itemkey] = "Y" : n[s.itemkey] = "N") : n[s.itemkey] = e[s.itemkey])
                        }
                        t.$set(t.cardData.data, "HEADER", n)
                    }
                },
                initCardBodyData: function () {
                    var t = this,
                        e = "";
                    t.cardDefaultValue.BODY && (e = t.cardDefaultValue.BODY);
                    for (var i in t.cardData.template.BODY) {
                        for (var a = t.cardData.template.BODY[i].items, n = new Object, o = 0; o < a.length; o++) {
                            var s = a[o];
                            0 == s.datatype ? n[s.itemkey] = "" != e && e[i] ? e[i][0][s.itemkey] : "" : 3 == s.datatype ? n[s.itemkey] = "" != e && e[i] ? e[i][0][s.itemkey] : t.getCurrentDate() : 1 == s.datatype ? n[s.itemkey] = "" != e && e[i] ? e[i][0][s.itemkey] : "" : 2 == s.datatype ? n[s.itemkey] = "" != e && e[i] ? e[i][0][s.itemkey] : "" : 5 == s.datatype || 6 == s.datatype ? n[s.itemkey] = "" != e && e[i] && e[i][0][s.itemkey] ? e[i][0][s.itemkey] : "" : n[s.itemkey] = "" != e && e[i] ? e[i][0][s.itemkey] : ""
                        }
                        n["crowno"] = 10, n["isNew"] = !0, t.handler.initCardBodyDataWhenAdd(t, i, [n])
                    }
                },
                initCardButton: function () {
                    var t = this;
                    if (this.buttons = [], t.isTodoCard)
                        for (var e = t.config.todoButtons, i = 0; i < e.length; i++) {
                            var a = e[i];
                            "string" == typeof a ? this.buttons.push(this.todoBtnConfig[a]) : this.buttons.push(a)
                        } else
                        for (var i = 0; i < t.config.buttons.length; i++) {
                            var a = t.config.buttons[i];
                            "string" == typeof a ? this.buttons.push(this.btnConfig[a]) : this.buttons.push(a)
                        }
                    t.setHasButtonsShow()
                },
                addCardBodyData: function (t, e) {
                    var i = this,
                        a = (t.items, new Object),
                        n = function () {
                            i.cardDefaultValue.BODY[t.tabCode] || (i.cardDefaultValue.BODY[t.tabCode] = [{}]), a = YC.Utils.clone(i.cardDefaultValue.BODY[t.tabCode][0]);
                            var e = 10;
                            i.cardData.data.BODY[t.tabCode].length > 0 && (e = parseInt(i.cardData.data.BODY[t.tabCode][i.cardData.data.BODY[t.tabCode].length - 1]["crowno"]) + 10);
                            for (var n = 0; n < t.items.length; n++) {
                                var o = t.items[n];
                                if (o.datatype == i.DataType.ATTACHMENT) {
                                    var s = YC.Utils.clone(a);
                                    a[o.itemkey] = {
                                        value: s,
                                        attachments: []
                                    }
                                }
                            }
                            a["crowno"] = e, a["isNew"] = !0, i.handler.btn_row_add_handler(i, t, a)
                        };
                    "" == i.cardDefaultValue ? this.handler.getCardDefaultValue(i, n) : n(), Vue.nextTick(function () {
                        e && i.scrollToBottom()
                    })
                },
                copyCardBodyData: function (t, e) {
                    var i = this,
                        a = new Object;
                    a = YC.Utils.clone(i.cardData.data.BODY[t.tabCode][e]);
                    var n = 10;
                    if (i.cardData.data.BODY[t.tabCode].length > 0) {
                        n = parseInt(i.cardData.data.BODY[t.tabCode][e]["crowno"]) + 10;
                        for (var o = e + 1; o < i.cardData.data.BODY[t.tabCode].length; o++) i.cardData.data.BODY[t.tabCode][o]["crowno"] = parseInt(i.cardData.data.BODY[t.tabCode][o]["crowno"]) + 10
                    }
                    for (var o = 0; o < t.items.length; o++) {
                        var s = t.items[o];
                        if (s.datatype == i.DataType.ATTACHMENT) {
                            var r = YC.Utils.clone(a);
                            a[s.itemkey] = {
                                value: r,
                                attachments: []
                            }
                        }
                    }
                    a["crowno"] = n, a["isNew"] = !0, a["_uuid"] = Uft.UUID(20, 16), i.handler.btn_row_copy_handler(i, t, a, e)
                },
                scrollToBottom: function () {
                    document.getElementById("yytm-card-content") && (document.getElementById("yytm-card-content").scrollTop = document.getElementById("yytm-card-content").scrollHeight - document.body.clientHeight)
                },
                addCardBodyDataByScan: function (t) {
                    var e = this;
                    e.handler.btn_row_add_scan_handler(e, t)
                },
                deleteCardBodyData: function (t, e, i) {
                    var a = this;
                    a.$messagebox.confirm("你确定要删除" + this.handler.getBodyTitleHtml(t, a.cardData.data.BODY[t.tabCode][e], e) + "?", "删除行").then(function () {
                        var n = a.cardData.data.BODY[t.tabCode][e];
                        if (a.cardData.data.BODY[t.tabCode][e]["isNew"] || a.config.mode == a.pageStatus.OP_REFADD_CARD) a.cardData.data.BODY[t.tabCode].splice(e, 1);
                        else {
                            var o = a.cardData.data.BODY[t.tabCode][e];
                            if (a.cardDelData.BODY[t.tabCode] && a.cardDelData.BODY[t.tabCode]["delete"] ? a.cardDelData.BODY[t.tabCode]["delete"].push(o) : a.cardDelData.BODY[t.tabCode] = {
                                delete: [o]
                            }, a.cardData.data.BODY[t.tabCode].splice(e, 1), a.$data.refBillKey) {
                                var s = a.$data.refBillCaches[a.$data.refBillKey];
                                a.$set(s, "cardDelData", a.cardDelData)
                            }
                        }
                        var r = {
                            index: e,
                            delRowData: n,
                            template: t,
                            BodyData: a.cardData.data.BODY[t.tabCode]
                        };
                        a.handler.btn_row_del_handler(a, r), "function" == typeof i && i()
                    })
                },
                getCurrentDate: function () {
                    var t = new Date;
                    return (t.getFullYear() + "-" + (t.getMonth() + 1 < 10 ? "0" + (t.getMonth() + 1) : t.getMonth() + 1) + "-" + (t.getDate() < 10 ? "0" + t.getDate() : t.getDate())).trim()
                },
                execMobileFormula: function (t, e, i) {
                    var a = YC.Utils.clone(e),
                        n = this.handler.getFormulaIgnoreFields();
                    if (n && n.length > 0)
                        for (var o = 0; o < n.length; o++) a[n[o]] = null;
                    for (var s in e) "object" == typeof e[s] && (a[s] = a[s] ? a[s].pk : "");
                    a["pkBilltemplet"] = t["pk_billtemplet"], a["pkBilltempletB"] = t["pk_billtemplet_b"];
                    var r = this,
                        l = function (t) {
                            var i = t.invocationResult.data;
                            for (var a in i) r.$set(e, a, i[a]);
                            e["isNew"] || (e["isUpdate"] = !0)
                        };
                    t.hasEditformula && YC.Utils.syncInvokeBusinessProcedure(this.config.location + "/execMobileFormula.mjson", a, l)
                },
                execMobileMutiRowsFormula: function (t, e, i) {
                },
                beforeHeadEdit: function (t, e, i, a) {
                    var n = {
                        template: t,
                        cValue: i,
                        recordData: e,
                        index: a,
                        cardData: this.cardData.data
                    };
                    return this.handler.beforeHeadEdit(this, n)
                },
                afterHeadEdit: function (t, e, i, a, n) {
                    this.execMobileFormula(t, e, i);
                    var o = {
                        template: t,
                        newValue: i,
                        oldValue: a,
                        recordData: e,
                        index: n,
                        cardData: this.cardData.data
                    };
                    this.handler.isCardValueChanged = !0, this.handler.afterHeadEdit(this, o)
                },
                beforeBodyEdit: function (t, e, i, a) {
                    var n = {
                        template: t,
                        cValue: i,
                        recordData: e,
                        index: a,
                        cardData: this.cardData.data
                    };
                    return this.handler.beforeBodyEdit(this, n)
                },
                afterBodyEdit: function (t, e, i, a, n) {
                    this.execMobileFormula(t, e, i), e["isNew"] || this.$set(e, "isUpdate", !0);
                    var o = {
                        template: t,
                        newValue: i,
                        oldValue: a,
                        recordData: e,
                        index: n,
                        cardData: this.cardData.data
                    };
                    this.handler.isCardValueChanged = !0, this.handler.afterBodyEdit(this, o)
                },
                buttonClick: function (t, e) {
                    if (this.$yytmToast.close(), "function" == typeof e.handler) {
                        var i = {
                            cardData: this.cardData
                        };
                        e._clickTAG || (e._clickTAG = !0, e.handler.call(this, this, i), setTimeout(function () {
                            e._clickTAG = !1
                        }, 2e3))
                    }
                },
                checkAttachmentUpload: function () {
                    var t = this;
                    if (t.$data.attachments)
                        for (var e = 0; e < t.$data.attachments.length; e++) {
                            var i = t.$data.attachments[e];
                            if (1 == i.isUploading) return t.$messagebox.alert("附件正在上传中，请稍等", "附件提示"), !1
                        }
                    return !0
                },
                checkMustEdit: function () {
                    var t = this,
                        e = function (e) {
                            t.$set(e, "_status", t.constants.FIELD_STATUS_NORMAL), t.$set(e, "_statusIds", [])
                        },
                        i = function (t, e) {
                            for (var i in t)
                                for (var a = t[i].items, n = 0; n < a.length; n++) {
                                    var o = a[n];
                                    if (o.isGroup)
                                        for (var s = 0; s < o.items.length; s++) {
                                            var r = o.items[s];
                                            e(r, i)
                                        } else e(o, i)
                                }
                        },
                        a = this.$data.cardData.template.HEADER,
                        n = this.cardData.data.HEADER,
                        o = this.cardData.template.BODY,
                        s = this.cardData.data.BODY,
                        r = [];
                    i(a, e), i(o, e);
                    var l = function (e, i, a) {
                            if (e.isShow && 1 == e.nullflag) {
                                var n = s[i][a];
                                if (null == n[e.itemkey] || void 0 == n[e.itemkey] || "" + n[e.itemkey] == "") {
                                    r.push(t.handler.getBodyTitleHtml(o[i], n, a) + "中的" + e.defaultshowname + " 不能为空！"), t.$set(e, "_status", t.constants.SYS_FIELD_STATUS_ERROR);
                                    var l = e["_statusIds"];
                                    l || (l = []), l.push(n._uuid), t.$set(e, "_statusIds", l)
                                }
                            }
                        },
                        d = function (e, i) {
                            if (e.isShow && 1 == e.nullflag)
                                if (5 == e.datatype) {
                                    if (null == n[e.itemkey] || void 0 == n[e.itemkey] || !n[e.itemkey].pk || n[e.itemkey].pk + "" == "") return t.$set(e, "_status", t.constants.SYS_FIELD_STATUS_ERROR), t.$set(t.$data, "cardData", t.$data.cardData), r.push("[" + e.defaultshowname + "] 不能为空！"), !1
                                } else if (null == n[e.itemkey] || void 0 == n[e.itemkey] || n[e.itemkey] + "" == "") return t.$set(t.$data, "cardData", t.$data.cardData), r.push("[" + e.defaultshowname + "] 不能为空！"), t.$set(e, "_status", t.constants.SYS_FIELD_STATUS_ERROR), !1
                        };
                    for (var c in a) {
                        if (this.cardData.data.HEADER)
                            for (var u = a[c].items, p = 0; p < u.length; p++) {
                                var m = u[p];
                                if (m.isGroup)
                                    for (var f = 0; f < m.items.length; f++) {
                                        var h = m.items[f];
                                        d(h)
                                    } else d(m)
                            }
                    }
                    for (var c in o) {
                        var v = this.cardData.data.BODY[c];
                        if (v)
                            for (var g = 0; g < v.length; g++)
                                for (var u = (v[g], o[c].items), p = 0; p < u.length; p++) {
                                    var m = u[p];
                                    if (m.isGroup)
                                        for (var f = 0; f < m.items.length; f++) {
                                            var h = m.items[f];
                                            l(h, c, g)
                                        } else l(m, c, g)
                                }
                    }
                    if (t.config.tipMode) {
                        if (r && r.length > 0) return t.$messagebox.alert(r[0], "必输提示"), !1
                    } else if (r && r.length > 0) {
                        for (var y = "", g = 0; g < r.length; g++) y += "<p class='toast-item'>" + r[g] + "</p>";
                        return t.$yytmToast.show({
                            message: y,
                            position: "verify"
                        }), !1
                    }
                    return !0
                },
                getCardData: function () {
                    var t = YC.Utils.clone(this.cardData.data),
                        e = this.cardData.template.HEADER,
                        i = t.HEADER;
                    for (var a in e)
                        for (var n = e[a].items, o = 0; o < n.length; o++) {
                            var s = n[o];
                            if (s.isGroup)
                                for (var r = 0; r < s.items.length; r++) {
                                    var l = s.items[r];
                                    5 == l.datatype && i[l.itemkey] && (i[l.itemkey] = i[l.itemkey].pk), 3 == l.datatype && this.cardData.data.HEADER[l.itemkey] && (i[l.itemkey] = new Date(this.cardData.data.HEADER[l.itemkey]).format("yyyy-MM-dd"))
                                } else 5 == s.datatype && i[s.itemkey] && (i[s.itemkey] = i[s.itemkey].pk), 3 == s.datatype && this.cardData.data.HEADER[s.itemkey] && (i[s.itemkey] = new Date(this.cardData.data.HEADER[s.itemkey]).format("yyyy-MM-dd"))
                        }
                    var d = this.cardData.template.BODY,
                        c = t.BODY;
                    for (var u in c)
                        if (d[u]) {
                            var p = d[u].items,
                                m = c[u];
                            for (var f in p) {
                                if (3 == p[f].datatype)
                                    for (var o in m) m[o][p[f].itemkey] && (m[o][p[f].itemkey] = new Date(this.cardData.data.BODY[u][o][p[f].itemkey]).format("yyyy-MM-dd"));
                                if (p[f].datatype == this.DataType.NUMBER || p[f].datatype == this.DataType.INTEGER)
                                    for (var o in m) m[o][p[f].itemkey] || (m[o][p[f].itemkey] = 0);
                                if (p[f].datatype == this.DataType.ATTACHMENT)
                                    for (var o in m) m[o][p[f].itemkey] && (m[o][p[f].itemkey] = m[o][p[f].itemkey].value)
                            }
                        }
                    if (this.config.mode == this.pageStatus.OP_ADD || this.config.mode == this.pageStatus.OP_REFADD_CARD)
                        for (var a in d) {
                            var h = {
                                update: c[a]
                            };
                            c[a] = h
                        } else
                        for (var a in d)
                            if (c[a]) {
                                for (var f = 0; f < c[a].length; f++) c[a][f]["isNew"] || c[a][f]["isUpdate"] || c[a].splice(f, 1);
                                var h = {
                                    update: c[a],
                                    delete: this.cardDelData.BODY[a] ? this.cardDelData.BODY[a]["delete"] : []
                                };
                                c[a] = h
                            }
                    return t
                },
                loadCardAttachmentInfo: function (t, e) {
                    if (t) {
                        var i = this;
                        i.hasAttachmentLoad = !0, YC.Utils.invokeBusinessProcedure(i.config.location + "/loadMobileBillCardAttachment.mjson", {
                            billId: t,
                            billType: i.config.billType
                        }, function (t) {
                            if (t.invocationResult.data.attachments) {
                                for (var a = t.invocationResult.data.attachments, n = 0; n < a.length; n++) i.$data.attachmentConfig.attachments.push(a[n]);
                                "function" == typeof e && e(a)
                            }
                        })
                    }
                },
                syncLoadCardAttachmentInfo: function (t) {
                    if (t) {
                        var e = this,
                            i = [];
                        return YC.Utils.syncInvokeBusinessProcedure(e.config.location + "/loadMobileBillCardAttachment.mjson", {
                            billId: t,
                            billType: e.config.billType
                        }, function (t) {
                            t.invocationResult.data.attachments && (i = t.invocationResult.data.attachments)
                        }), i
                    }
                },
                loadCardAttachmentNum: function (t) {
                    if (t) {
                        var e = this;
                        YC.Utils.invokeBusinessProcedure(e.config.location + "/loadMobileBillCardAttachmentNum.mjson", {
                            billId: t,
                            billType: e.config.billType
                        }, function (t) {
                            t.invocationResult.data && t.invocationResult.data.attachmentNum && (e.$data.attachmentNum = t.invocationResult.data.attachmentNum)
                        })
                    }
                },
                onAttachmentFolderClick: function () {
                    var t = this;
                    0 == t.$data.attachmentConfig.attachments.length && t.loadCardAttachmentInfo(t.config.billId), t.$set(t.$data, "showAttachment", !t.$data.showAttachment), Vue.nextTick(function () {
                        t.scrollToBottom()
                    })
                },
                loadWorkFlowHistory: function (t, e, i) {
                    var a = this;
                    if (!t || !e) return void a.$emit("workflow-info-changed", null);
                    var n = function (t) {
                            var e = t.invocationResult;
                            if (e) {
                                for (var n = 0, o = 0; o < e.historys.length; o++) e.historys[o].ispredict || n++;
                                a.$set(a.$data, "workFlowHistoryNumber", n), a.$set(a.$data, "workFlowHistory", e.historys), a.$emit("workflow-info-changed", e.historys, n)
                            } else a.$emit("workflow-info-changed", null);
                            i && "function" == typeof i && i(t)
                        },
                        o = function () {
                        };
                    YC.Utils.invokeBusinessProcedure("/webbd-webapp/component/getBillWorkFlowHistory.mjson", {
                        billId: t,
                        billType: e
                    }, n, o)
                },
                loadWorkFlowInfo: function (t, e) {
                    var i = this,
                        t = t.split("-")[0],
                        a = function (t) {
                            var a = t.invocationResult.data;
                            a && (i.workFlowInfo = a, e && e())
                        },
                        n = function () {
                        };
                    YC.Utils.invokeBusinessProcedure("/webbd-webapp/component/getWorkFlowInfo.mjson", {
                        wfid: t
                    }, a, n)
                },
                changeToHistory: function () {
                    var t = this,
                        e = {
                            billId: t.config.billId,
                            billType: t.config.billType,
                            pageId: "billWorkflow",
                            vbillstatus: this.cardData.data.HEADER.vbillstatus
                        };
                    e[YC.AppProperty.UFT_CURRENT_BUSINESS_ADAPTER] = YC.Utils.getCurrentAdapter(), YC.LocalStorage.setValue(YC.AppProperty.TEMP_UFT_WORKFLOWHISTORY, {
                        billId: e.billId,
                        billType: e.billType,
                        historys: t.workFlowHistory
                    }), YC.Window.openWindow("page/BillWorkFlow.html", {
                        title: "审批情况"
                    }, null, e)
                },
                onAttachmentChanged: function (t) {
                    var e = this;
                    Vue.nextTick(function () {
                        e.scrollToBottom()
                    }), e.$set(e.$data, "attachments", t), e.$set(e.$data.attachmentConfig, "attachments", t), e.$set(e.$data, "attachmentNum", t.length)
                },
                onBlockAttachmentChanged: function (t, e) {
                    var i = this;
                    i.$set(i.$data, "bodyAttachments", t), i.handler.onBodyAttachmentChange(i, i.$data.bodyAttachments, e)
                },
                initAttachmentConfig: function () {
                    var t = this;
                    t.config.mode != t.pageStatus.OP_EDIT && t.config.mode != t.pageStatus.OP_ADD && t.config.mode != t.pageStatus.OP_REFADD_CARD || (t.$set(t.$data.attachmentConfig, "editable", !0), t.$set(t.$data.attachmentConfig, "addable", !0))
                },
                updateAttachmentStatus: function () {
                    var t = this;
                    t.config.mode == t.pageStatus.OP_INIT ? (t.$set(t.attachmentConfig, "editable", !1), t.$set(t.attachmentConfig, "addable", !1)) : t.config.mode == t.pageStatus.OP_ADD || t.config.mode == t.pageStatus.OP_REFADD_CARD ? (t.$set(t.attachmentConfig, "editable", !0), t.$set(t.attachmentConfig, "addable", !0)) : t.config.mode == t.pageStatus.OP_NOTEDIT_CARD ? (t.$set(t.attachmentConfig, "editable", !1), t.$set(t.attachmentConfig, "addable", !1)) : t.config.mode == t.pageStatus.OP_EDIT && (t.$set(t.attachmentConfig, "editable", !0), t.$set(t.attachmentConfig, "addable", !0))
                },
                setHasButtonsShow: function () {
                    for (var t = this, e = 0; e < t.buttons.length; e++) {
                        var i = t.buttons[e];
                        if (t.contains(i.enabledStatus, t.config.mode) && t.contains(i.enabledBizStatus, t.cardData.data.HEADER.vbillstatus) && t.showButton(i, t.cardData.data)) return void t.$set(t.$data, "hasButtonsShow", !0)
                    }
                    t.$set(t.$data, "hasButtonsShow", !1)
                },
                showPopConfirm: function (t, e, i) {
                    var a = this;
                    a.$set(a.$data, "assignParams", e), a.$set(a.$data, "assignCallback", i), a.$set(a.$data, "assignInfo", t), a.$set(a.$data, "showPopCheck", !0), a.$addPopupClass()
                },
                onAssignTipConfirm: function (t) {
                    var e = this,
                        i = e.$data.assignParams;
                    i["assignUsersPKs"] = t, e.$data.assignCallback(i), e.$set(e.$data, "showPopCheck", !1), e.$removePopupClass()
                },
                onAssignTipCancel: function () {
                    var t = this;
                    t.$set(t.$data, "showPopCheck", !1), t.$removePopupClass(), t.$indicator.close()
                },
                onJsignatureTipConfirm: function (t) {
                    var e = this;
                    e.$indicator.open("提交中...");
                    var i = e.$data.jsignatureParams;
                    i["jsignaturedata"] = t, e.$data.jsignatureCallback(i), e.$set(e.$data, "showJsignature", !1), e.$removePopupClass()
                },
                onJsignatureTipCancel: function () {
                    var t = this;
                    t.$set(t.$data, "showJsignature", !1), t.$removePopupClass(), t.$indicator.close()
                },
                _getCardRefBillParams: function (t) {
                    var e = this,
                        i = {
                            dataUrl: e.config.location + "/loadRefBillData.mjson",
                            isLoadData: !0,
                            isLoadTemplate: !1,
                            params: {
                                templateID: t.TEMPLATEID,
                                tabCode: t.headerTabCode,
                                headerTabCode: t.headerTabCode,
                                funCode: e.$props.config.funCode,
                                billType: e.$props.config.billType,
                                bodyTabCode: t.bodyTabCode,
                                srcBillType: e.$props.config.refConfig.srcBillType,
                                srcFunCode: e.$props.config.refConfig.srcFunCode,
                                srcHeaderPkField: e.$props.config.refConfig.srcHeaderPkField,
                                srcBodyPkField: e.$props.config.refConfig.srcBodyPkField,
                                forwardFunCode: e.$props.config.funCode,
                                REFBILL_PKS: e.$props.config.refConfig.REFBILL_PKS,
                                linkCodes: e.$props.config.refConfig.linkCodes
                            }
                        };
                    return i.dataUrl = e.config.location + "/loadRefBillData.mjson", i
                },
                onShowItemClick: function (t, e, i) {
                    this.handler.onBodyShowItemClick(this, t, e, i)
                },
                onBodyTitleClick: function (t) {
                    this.handler.onBodyTitleClick(this, t)
                },
                isBodyRecordShow: function (t, e) {
                    return this.handler.isBodyRecordShow(this, t, e)
                },
                isShowRowNum: function (t, e) {
                    return this.handler.isBodyRowNumShow(this, t, e)
                },
                isBodyAddButtonShow: function () {
                    return this.handler.isBodyAddButtonShow(this, this.$props.config, this.$data.isRowAddShow)
                }
            },
            watch: {
                config: function (t, e) {
                    var i = this;
                    t.mode != e.mode && (t.mode == i.pageStatus.OP_EDIT || t.mode == i.pageStatus.OP_ADD || t.mode == i.pageStatus.OP_REFADD_CARD ? (i.$set(i.$data.attachmentConfig, "editable", !0), i.$set(i.$data.attachmentConfig, "addable", !0)) : (i.$set(i.$data.attachmentConfig, "editable", !1), i.$set(i.$data.attachmentConfig, "addable", !1)))
                },
                "config.mode": function (t, e) {
                    var i = this;
                    i.updateAttachmentStatus(), i.setHasButtonsShow(), t == this.pageStatus.OP_ADD || t == this.pageStatus.OP_EDIT || t == this.pageStatus.OP_REFADD_CARD ? YC.Navigation.setBackGestureEnable(!1) : YC.Navigation.setBackGestureEnable(!0)
                },
                "cardData.data": function (t, e) {
                    this.disposeCardData(t)
                },
                showJsignature: function (t, e) {
                    t ? YC.Navigation.setBackGestureEnable(!1) : YC.Navigation.setBackGestureEnable(!0)
                }
            }
        });
        Vue.yytmAttachmentComponentConfig = {
            template: "\t<div class='list-block'  v-if='isShowPhotoContainer(config.editable,config.addable,photos)' >\t\t<div class='item-content item-photo'>\t\t\t<div class='item-media'></div>\t\t\t<div class='item-inner'>\t\t\t\t<div class='item-input'>\t\t\t\t\t<template v-if='config.editable && config.addable'>\t\t\t\t\t\t<p class='entry-inline'>\t\t\t\t\t\t\t<span class='' @click='showActionSheet'>添加附件</span>\t\t\t\t\t\t</p>\t\t\t\t\t</template>\t\t\t\t\t<ul id='c_u_photo_container' :class='getPhotoContainerClassName()'>\t\t\t\t\t\t<li v-for='(photo,index) in photos' >\t\t\t\t\t\t\t<img class='add_img_btn need-preview' :src='photo.src' :data-size='photo.dataSize' :msrc='photo.msrc' :filename='photo.fileName'/>\t\t\t\t\t\t\t<template v-if='config.editable && photo.isNew && !photo.isUploading'>\t\t\t\t\t\t\t\t<span class='btn-close' @click.stop='deletePhoto(photo, index)'>x</span>\t\t\t\t\t\t\t</template>\t\t\t\t\t\t\t<template v-else-if='config.editable && !photo.isUploading'>\t\t\t\t\t\t\t\t<span class='btn-close' @click.stop='deletePhoto(photo, index)'>x</span>\t\t\t\t\t\t\t</template>\t\t\t\t\t\t\t<span v-if='photo.isUploading' class='btn-line'>正在上传...</span>\t\t\t\t\t\t\t<span v-if='photo.isDeleting' class='btn-line'>正在删除...</span>\t\t\t\t\t\t</li>\t\t\t\t\t</ul>\t\t\t\t</div>\t\t\t</div>\t\t</div>\t\t<mt-actionsheet :actions='actions' v-model='isShowActionSheet' cancel-text='取消'></mt-actionsheet>\t\t<div class='pswp' tabindex='-1' role='dialog' aria-hidden='true'>\t\t\t<div class='pswp__bg'></div>\t\t\t<div class='pswp__scroll-wrap'>\t\t\t\t<div class='pswp__container'>\t\t\t\t\t\x3c!-- 不能修改这三个标签 --\x3e\t\t\t\t\t<div class='pswp__item'></div>\t\t\t\t\t<div class='pswp__item'></div>\t\t\t\t\t<div class='pswp__item'></div>\t\t\t\t</div>\t\t\t\t<div class='pswp__ui pswp__ui--hidden'>\t\t\t\t\t<div class='pswp__top-bar'>\t\t\t\t\t\t<div class='pswp__counter'></div>\t\t\t\t\t\t<div class='pswp__preloader'>\t\t\t\t\t\t\t<div class='pswp__preloader__icn'>\t\t\t\t\t\t\t\t<div class='pswp__preloader__cut'>\t\t\t\t\t\t\t\t\t<div class='pswp__preloader__donut'></div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>\t\t\t\t\t</div>\t\t\t\t\t<div class='pswp__share-modal pswp__share-modal--hidden pswp__single-tap'>\t\t\t\t\t\t<div class='pswp__share-tooltip'></div>\t\t\t\t\t</div>\t\t\t\t</div>\t\t\t</div>\t\t</div>\t</div>",
            props: {
                config: {
                    type: Object
                }
            },
            data: function () {
                var t = window.location.href;
                return t = t.substring(0, t.indexOf(YC.StaticAppProps.SKIN) + YC.StaticAppProps.SKIN.length), {
                    className: null,
                    isOriImage: !1,
                    isShowActionSheet: !1,
                    isInitPhotoSwipe: !1,
                    actions: [{
                        name: "拍照",
                        method: this.takePhoto
                    }, {
                        name: "从相册中选择",
                        method: this.openAlbum
                    }],
                    photos: [],
                    headerConfig: {},
                    addImgSrc: t + "/images/addphoto.png"
                }
            },
            created: function () {
                var t = this;
                if (this.$props.config.attachments)
                    for (var e = 0; e < this.$props.config.attachments.length; e++) {
                        var i = this.$props.config.attachments[e],
                            a = t.changeAttachmentToPhoto(i);
                        a && t.$data.photos.push(a)
                    }
            },
            mounted: function () {
            },
            methods: {
                changeAttachmentToPhoto: function (t) {
                    var e = this;
                    if (!t.path) return null;
                    var i = {};
                    return i.src = t.src, t.contentdata && (i.src = "data:image/jpeg;base64," + t.contentdata), t.msrc && (i.msrc = t.msrc), i.operator = t.operator, i.isNew = !1, i.isDeleting = !1, i.fileName = t.filename ? t.filename : t.fileName, i.path = t.path, i.tempPk = t.tempPk, e.setImageMsrc(i), e.setImageSize(i), i
                },
                showActionSheet: function () {
                    this.$set(this.$data, "isShowActionSheet", !0)
                },
                takePhoto: function () {
                    this.getPicture("CAMERA")
                },
                openAlbum: function () {
                    this.getPicture("PHOTO")
                },
                getPicture: function (t) {
                    var e = this;
                    if (YC.Utils.isMobile()) {
                        var i = {
                            from: t,
                            quality: this.$data.isOriImage ? 80 : 35
                        };
                        e.$indicator.open(), YC.Plugins.getPicture(function (t) {
                            e.uploadImage(t)
                        }, function (t) {
                            e.$indicator.close()
                        }, i)
                    }
                },
                deletePhoto: function (t, e) {
                    var i = this;
                    YC.SimpleDialog.show("删除附件", "你确定要删除该附件吗？", [{
                        text: "删除",
                        handler: function () {
                            t.isDeleting = !0;
                            var a = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                                n = (JSON.parse(a), {
                                    path: t.path,
                                    fileName: t.fileName
                                }),
                                o = function (t) {
                                    YC.Utils.showToast("删除成功!"), i.$data.photos.splice(e, 1), i.$emit("on-attachment-change", i.$data.photos)
                                };
                            YC.Utils.invokeBusinessProcedure(i.config.location + "/delMobileFile.mjson", n, o, function () {
                                t.isDeleting = !1
                            })
                        }
                    }, {
                        text: "放弃",
                        handler: function () {
                        }
                    }])
                },
                uploadImage: function (t) {
                    var e = this,
                        i = Uft.UUID(20, 16);
                    this.$props.config.billId ? i = this.$props.config.billId : this.$props.config.tempId && (i = this.$props.config.tempId);
                    var a = new FileUploadOptions;
                    a.fileKey = "file", a.fileName = t.substr(t.lastIndexOf("/") + 1), a.mimeType = "image/png";
                    var n = new FileTransfer,
                        o = i,
                        s = null;
                    e.$props.config.billType && (o = e.$props.config.billType + "/" + o, s = e.$props.config.billType.substring(0, 2)), e.$props.config.uploadNodePath && (o = e.$props.config.uploadNodePath);
                    var r, l = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                        d = JSON.parse(l);
                    if (YC.FileService.isUseFileSystem(s)) {
                        var c = {};
                        c.sysCode = s;
                        r = YC.FileService.getConfig().fileServiceInternetUploadUrl + "?pubParam=" + encodeURIComponent(YC.FileService.genFileSystemParams(o, !1, c).pubParam)
                    } else {
                        var u = YC.StaticAppProps.WORKLIGHT_ROOT_URL + "uploadBusinessFile.adapter",
                            p = e.config.location,
                            m = YC.Utils.getCurrentAdapter(),
                            f = "pkCorp=" + d.pk_corp + "&cuserid=" + d.cuserid + "&userCode=" + d.user_code + "&path=" + o + "&location=" + p + "&adapterName=" + m;
                        r = encodeURI(u + "?" + f)
                    }
                    var h = {
                        path: o + "/" + a.fileName,
                        fileName: a.fileName,
                        src: t,
                        msrc: t,
                        dataSize: 1048576,
                        tempPk: i,
                        operator: d.pk_emember,
                        isUploading: !0,
                        isNew: !0
                    };
                    e.setImageSize(h);
                    var v = e.$data.photos.length;
                    e.$data.photos.push(h), e.$indicator.close(), e.$emit("on-attachment-change", e.$data.photos), n.upload(t, r, function (t) {
                        var i = JSON.parse(t.response),
                            a = i.success,
                            n = i.fileName;
                        YC.FileService.isUseFileSystem(s) && (n = i.data.fileName, a = i.data.success);
                        var o = function (t) {
                            for (var i = 0; i < e.$data.photos.length; i++) {
                                if (e.$data.photos[i].fileName == t) return i
                            }
                        }(n);
                        i ? a ? h.isUploading = !1 : (e.$data.photos.splice(v, 1), YC.Utils.showToast(t.response.msg), e.$data.photos.splice(o, 1)) : (e.$data.photos.splice(v, 1), YC.Utils.showToast("上传返回数据为空!"), e.$data.photos.splice(o, 1))
                    }, function (t) {
                        e.$indicator.close()
                    }, a)
                },
                setImageSize: function (t) {
                    var e = this,
                        i = new Image;
                    i.src = t.src, i.onload = function () {
                        i.width <= 100 ? e.$set(t, "dataSize", 10 * i.width + "x" + 10 * i.height) : e.$set(t, "dataSize", i.width + "x" + i.height)
                    }
                },
                setImageMsrc: function (t) {
                    var e = this;
                    if (!t.msrc) {
                        var i = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                            a = JSON.parse(i),
                            n = YC.Utils.getCurrentAdapter(),
                            o = YC.StaticAppProps.WORKLIGHT_ROOT_URL + "downloadBusinessFile.adapter",
                            s = "url=" + encodeURIComponent(e.config.location + "/downLoadFile.mjson?nodepath=" + t.path + "&pkCorp=" + a.pk_corp + "&cuserid=" + a.cuserid + "&userCode=" + a.user_code);
                        t.msrc = encodeURI(o + "?adapterName=" + n + "&" + s)
                    }
                },
                initPhotoSwipe: function (t) {
                    for (var e, i = this, a = null, n = YC.Navigation.getHeaderConfig(), o = function (t) {
                        for (var e, i, a, n = t.childNodes, o = n.length, s = [], r = 0; r < o; r++) e = n[r], 1 === e.nodeType && (srcEl = e.children[0], i = srcEl.getAttribute("data-size").split("x"), a = {
                            src: srcEl.getAttribute("msrc"),
                            w: parseInt(i[0], 10),
                            h: parseInt(i[1], 10),
                            msrc: srcEl.getAttribute("src")
                        }, a.el = e, s.push(a));
                        return s
                    }, s = function t(e, i) {
                        return e && (i(e) ? e : t(e.parentNode, i))
                    }, r = function (t) {
                        t = t || window.event, t.preventDefault ? t.preventDefault() : t.returnValue = !1;
                        var e = t.target || t.srcElement,
                            i = s(e, function (t) {
                                return t.tagName && "LI" === t.tagName.toUpperCase()
                            });
                        if (i) {
                            for (var a, n = i.parentNode, o = i.parentNode.childNodes, r = o.length, d = 0, c = 0; c < r; c++)
                                if (1 === o[c].nodeType) {
                                    if (o[c] === i) {
                                        a = d;
                                        break
                                    }
                                    d++
                                }
                            return a >= 0 && l(a, n, "", "", t), !1
                        }
                    }, l = function (t, s, r, l, d) {
                        if (i.$addPopupClass(), n.leftConfig && n.leftConfig.onSuccess && (e = n.leftConfig.onSuccess, n.leftConfig.onSuccess = function () {
                            a.close(), n.leftConfig.onSuccess = e
                        }), YC.Navigation.setHeaderConfig(n), d) var c = $(d.target).parents(".list-block")[0].querySelectorAll(".pswp")[0];
                        else var c = document.querySelectorAll(".pswp")[0];
                        var u, p;
                        p = o(s);
                        var u = {
                            history: !1,
                            focus: !1,
                            showAnimationDuration: 0,
                            hideAnimationDuration: 0
                        };
                        if (u.mainClass = "pswp--minimal--dark", u.barsSize = {
                            top: 0,
                            bottom: 0
                        }, u.captionEl = !1, u.fullscreenEl = !1, u.shareEl = !1, u.bgOpacity = .85, u.tapToClose = !0, u.tapToToggleControls = !1, l)
                            if (u.galleryPIDs) {
                                for (var m = 0; m < p.length; m++)
                                    if (p[m].pid == t) {
                                        u.index = m;
                                        break
                                    }
                            } else u.index = parseInt(t, 10) - 1;
                        else u.index = parseInt(t, 10);
                        isNaN(u.index) || (r && (u.showAnimationDuration = 0), a = new PhotoSwipe(c, PhotoSwipeUI_Default, p, u), a.init(), a.listen("close", function () {
                            n.leftConfig.onSuccess = e, YC.Navigation.setHeaderConfig(n), i.$removePopupClass()
                        }))
                    }, d = document.querySelectorAll(t), c = 0, u = d.length; c < u; c++) d[c].setAttribute("data-pswp-uid", c + 1), d[c].onclick = r;
                    var p = function () {
                        var t = window.location.hash.substring(1),
                            e = {};
                        if (t.length < 5) return e;
                        for (var i = t.split("&"), a = 0; a < i.length; a++)
                            if (i[a]) {
                                var n = i[a].split("=");
                                n.length < 2 || (e[n[0]] = n[1])
                            }
                        return e.gid && (e.gid = parseInt(e.gid, 10)), e
                    }();
                    p.pid && p.gid && l(p.pid, d[p.gid - 1], !0, !0)
                },
                isShowPhotoContainer: function (t, e, i) {
                    var a = this;
                    return !!(t && e || i.length > 0) && (0 == a.isInitPhotoSwipe && (a.isInitPhotoSwipe = !0), !0)
                },
                getPhotoContainerClassName: function () {
                    return this.className ? this.className : (this.className = Uft.UUID(20, 16), this.className)
                }
            },
            watch: {
                "config.attachments": function (t, e) {
                    for (var i = this, a = i.$props.config.attachments, n = 0; n < a.length; n++) {
                        for (var o = a[n], s = !1, r = 0; r < i.$data.photos.length; r++) {
                            var l = i.$data.photos[r];
                            o.path == l.path && (s = !0)
                        }
                        if (!s) {
                            var l = i.changeAttachmentToPhoto(o);
                            i.$data.photos.push(l)
                        }
                    }
                },
                photos: function (t, e) {
                    var i = this.getPhotoContainerClassName();
                    Vue.nextTick(function () {
                        if (document.getElementsByClassName(i) && document.getElementsByClassName(i)[0]) {
                            var t = document.getElementsByClassName(i)[0].getElementsByClassName("need-preview");
                            YC.Utils.initImagePreview(t, i)
                        }
                    })
                },
                isShowActionSheet: function (t, e) {
                    1 == t ? this.$addPopupClass() : this.$removePopupClass()
                }
            }
        }, Vue.component("yytm-attachment", Vue.yytmAttachmentComponentConfig);
        Vue.component("yytm-field", {
            template: '<mt-cell class="mint-field" :title="label" v-clickoutside="doCloseActive" :icon="icon" :class="[{ \'is-textarea\': type === \'textarea\',\'is-nolabel\': !label}]"><textarea :class="rows==\'2\'?\'mint-field-core mini-textarea\':\'mint-field-core\'" @keydown.stop="$onInputKeyDown($event)" @change="$emit(\'change\', currentValue)" ref="textarea" :placeholder="placeholder" v-if="type === \'textarea\'" :rows="rows" :disabled="disabled" :readonly="readonly" v-model="currentValue"></textarea><input :name="random" @keydown.stop="$onInputKeyDown($event)"  @change="$emit(\'change\', currentValue)" ref="input" class="mint-field-core" :placeholder="placeholder" :number="type === \'number\'"v-else :type="type" v-on:focus="active = true" :disabled="disabled" :readonly="readonly" :value="currentValue" @input="handleInput"><div @click="handleClear" class="mint-field-clear" v-if="!disableClear" v-show="currentValue && type !== \'textarea\' && active"><i class="mintui mintui-field-error"></i></div><span class="mint-field-state" v-if="state" :class="[\'is-\' + state]"><i class="mintui" :class="[\'mintui-field-\' + state]"></i></span><div class="mint-field-other"><slot></slot></div></mt-cell>',
            data: function () {
                return {
                    active: !1,
                    currentValue: this.value,
                    random: 0
                }
            },
            props: {
                icon: {
                    type: String,
                    default: ""
                },
                type: {
                    type: String,
                    default: "text"
                },
                rows: String,
                label: String,
                placeholder: String,
                readonly: Boolean,
                disabled: Boolean,
                disableClear: Boolean,
                state: {
                    type: String,
                    default: "default"
                },
                value: {},
                attr: Object
            },
            created: function () {
                this.random = Math.random()
            },
            mounted: function () {
            },
            methods: {
                doCloseActive: function () {
                    this.active = !1
                },
                handleInput: function (t) {
                    this.currentValue = t.target.value
                },
                handleClear: function () {
                    this.disabled || this.readonly || ("textarea" == this.type ? this.$refs.textarea.focus() : this.$refs.input.focus(), this.currentValue = "", this.$emit("change", ""))
                },
                inputScroll: function (t) {
                }
            },
            watch: {
                value: function (t) {
                    this.currentValue = t
                },
                currentValue: function (t) {
                    this.$emit("input", t)
                },
                attr: {
                    immediate: !0,
                    handler: function (t) {
                        this.$nextTick(function () {
                            for (var e = [this.$refs.input, this.$refs.textarea], i = 0; i < e.length; i++) {
                                var a = e[i];
                                if (!a || !t) return;
                                Object.keys(t).map(function (e) {
                                    return a.setAttribute(e, t[e])
                                })
                            }
                        })
                    }
                }
            }
        });
        Vue.yytmChartComponentConfig = {
            template: '<div :id="chartId" class="charts-wrap" :style="{height:itemHeight + \'px\'}" ></div>',
            props: ["componentCode", "filterParams", "itemHeight"],
            data: function () {
                return {
                    chartId: (1e6 * Math.random() + "").substring(0, 6)
                }
            },
            methods: {
                requestData: function () {
                    if (this.componentCode) {
                        var t = new Array;
                        if (this.filterParams)
                            for (var e = JSON.parse(this.filterParams), i = 0; i < e.length; i++) t.push(e[i]);
                        var a = YC.Utils.getAllUrlParams(window.location.href);
                        if (a && 0 != a.length)
                            for (var i = 0; i < a.length; i++) {
                                var n = a[i],
                                    o = {
                                        fieldName: n[0],
                                        condition: "=",
                                        value: n[1]
                                    };
                                t.push(o)
                            }
                        var s = {
                                componentCode: "HtmlChartComponent-" + this.componentCode + "_12313233",
                                PUB_PARAMS: JSON.stringify(t)
                            },
                            r = this,
                            l = function (t) {
                                var e = new YCCHART(r.chartId);
                                if (0 != t.invocationResult.success && t.invocationResult.isSuccessful) {
                                    var i = t.invocationResult.chart;
                                    if (console.log(i), i.textStyle = {
                                        fontSize: "9"
                                    }, i.xAxis && null != i.xAxis[0]) {
                                        i.xAxis[0]["axisLabel"] = {
                                            interval: 0
                                        };
                                        for (var a = 0; a < i["xAxis"].length; a++) null == i["xAxis"][a]["axisLabel"] || void 0 == i["xAxis"][a]["axisLabel"] ? i["xAxis"][a]["axisLabel"] = {
                                            interval: 0
                                        } : i["xAxis"][a]["axisLabel"]["interval"] = 0
                                    }
                                    e.setData(i)
                                }
                            };
                        YC.Utils.invokeBusinessProcedure("/uftbi/defreport/loadMobileComponentData.mjson", s, l)
                    }
                }
            },
            mounted: function () {
                this.requestData()
            },
            created: function () {
                this.requestData()
            },
            watch: {
                filterParams: function (t, e) {
                    this.requestData()
                },
                componentCode: function () {
                    this.requestData()
                }
            }
        }, Vue.component("yytm-chart", Vue.yytmChartComponentConfig);
        Vue.yytmCustomFilterComponentConfig = {
            template: '<div class="filter-wrap"><div class="filter-box"><div class="filter-r"><i v-if="search && !showSearch" class="fa fa-search " @click="showTheSearch"></i><slot name="otherFunc"></slot></div><div class="filter-search " :class="{\'active\':showSearch}"><form class="filter-search-box" v-if="showSearch"><i class="fa fa-search"></i><input type="search" @keydown.stop="onSearch($event)" v-focus="showSearch" v-model="searchValue"/><span class="fa fa-times" v-if="searchValue" @click="emptySearch"></span></form><div class="search-cancel" @click="cancelSearch()">取消</div></div><template v-for="(filterItem,index) in customItems"><div :class="{\'filter-l\':filterItem.position==\'left\',\'filter-c\':filterItem.position==\'center\',\'active\':filterItem.showList}" @click="onItemClick(filterItem,index)" >{{filterItem.title}} <i class="fa" :class="{\'fa-caret-down\':!filterItem.showList, \'fa-caret-up\':filterItem.showList}"></i></div></template><yytm-popup style="width:100%;" v-model="dateRangePickerConfig.dateRangePickerVisible" position="bottom" class="mint-popup-4" ><yytm-date-range-picker  ref="datePicker" :format="dateRangePickerConfig.format" :min-date="dateRangePickerConfig.minDate" :max-date="dateRangePickerConfig.maxDate" :left-default-date="dateRangePickerConfig.leftDefaultDate" :right-default-date="dateRangePickerConfig.rightDefaultDate" @cancel="cancel" @confirm="confirm"></yytm-date-range-picker></yytm-popup></div><template v-for="(filterItem,index) in customItems"><template v-if="filterItem.type==\'select\'"><div class="filter-list-box" v-show="filterItem.showList"><ul><template v-for="selItem in filterItem.values"><li v-if="selItem.type==\'def-daterange-picker\'" :class="{active : dateRangePickerConfig.selValue == filterItem.selValue}" @click="onDateRangePickerClick(filterItem,selItem,index)" class="filter-item"><i class="fa fa-check"></i>{{selItem.name}}</li><li v-else class="filter-item" :class="{active : selItem.value == filterItem.selValue}"  @click="onSelectItemClick(filterItem,selItem,index)"><p><i class="fa fa-check"></i>{{selItem.name}}<em v-if="selItem.count">({{selItem.count}})</em></p><ul v-if="selItem.children && selItem.children.length>0"><li  class="filter-item" :class="{active : child.value == filterItem.selValue}" v-for="child in selItem.children" @click.stop="onSelectChildItemClick(filterItem,child,index)"><i class="fa fa-check"></i>{{child.name}}<em>({{child.count}})</em></li></ul></li></template></ul></div><div class="filter-mask" v-if="filterItem.showList" @click="filterItem.showList =!filterItem.showList"></div></template></template></div>',
            props: {
                filterItems: {},
                search: {
                    type: Boolean,
                    default: !0
                }
            },
            data: function () {
                return {
                    customItems: this.getCustomItems(),
                    showSearch: !1,
                    searchValue: "",
                    dateRangePickerConfig: {
                        dateRangePickerVisible: !1,
                        minDate: "1999-01",
                        maxDate: (new Date).format("yyyy-MM-dd"),
                        leftDefaultDate: YC.DateUtils.getPreDate(new Date, 366).format("yyyy-MM-dd"),
                        rightDefaultDate: (new Date).format("yyyy-MM-dd"),
                        format: "yyyy-MM-dd",
                        selValue: null,
                        item: {}
                    }
                }
            },
            computed: {},
            created: function () {
            },
            methods: {
                onItemClick: function (t, e) {
                    var i = this;
                    if ("select" == t.type) {
                        for (var a = 0; a < i.customItems.length; a++) a != e && i.$set(i.customItems[a], "showList", !1);
                        i.$set(i.customItems[e], "showList", !t.showList)
                    }
                },
                getCustomItems: function () {
                    for (var t = this, e = YC.Utils.clone(t.$props.filterItems), i = [], a = [], n = [], o = 0; o < e.length; o++) {
                        var s = e[o];
                        s.selected = !1, t.$set(s, "showList", !1), "left" == s.position ? i.push(s) : "center" == s.position ? a.push(s) : "right" == s.position && n.push(s)
                    }
                    return e = [].concat(n).concat(a).concat(i)
                },
                onSelectItemClick: function (t, e, i) {
                    var a = this;
                    a.$set(t, "title", e.name), a.$set(t, "selected", !0), a.$set(t, "selectedKey", t.key), a.$set(t, "selValue", e.value), a.closeAllDropdown(), a.$emit("on-filter-changed", a.getFilterCondition())
                },
                onSelectChildItemClick: function (t, e, i) {
                    var a = this;
                    a.$set(t, "title", e.name), a.$set(t, "selected", !0), a.$set(t, "selectedKey", "nodecode"), a.$set(t, "selValue", e.value), a.closeAllDropdown(), a.$emit("on-filter-changed", a.getFilterCondition())
                },
                onDateRangePickerClick: function (t, e, i) {
                    var a = this;
                    a.$data.dateRangePickerConfig.dateRangePickerVisible = !0, a.$data.dateRangePickerConfig.item = t
                },
                closeAllDropdown: function () {
                    for (var t = this, e = 0; e < t.customItems.length; e++) t.$set(t.customItems[e], "showList", !1)
                },
                confirm: function (t) {
                    var e = this;
                    e.$set(e.$data.dateRangePickerConfig.item, "title", t[0] + "." + t[1] + "." + t[2] + "-" + t[3] + "." + t[4] + "." + t[5]), e.$set(e.$data.dateRangePickerConfig.item, "selected", !0), e.$set(e.$data.dateRangePickerConfig.item, "selValue", t[0] + "-" + t[1] + "-" + t[2] + "," + t[3] + "-" + t[4] + "-" + t[5]), e.$set(e.$data.dateRangePickerConfig, "selValue", t[0] + "-" + t[1] + "-" + t[2] + "," + t[3] + "-" + t[4] + "-" + t[5]), e.$data.dateRangePickerConfig.dateRangePickerVisible = !1, e.$emit("on-filter-changed", e.getFilterCondition()), e.closeAllDropdown()
                },
                cancel: function (t) {
                    this.$data.dateRangePickerConfig.dateRangePickerVisible = !1
                },
                getFilterCondition: function () {
                    for (var t = this, e = t.$data.customItems, i = new Array, a = 0; a < e.length; a++) {
                        var n = e[a];
                        if (n.selected) {
                            var o = {
                                key: n.selectedKey ? n.selectedKey : n.key,
                                value: n.selValue,
                                title: n.title
                            };
                            i.push(o)
                        }
                    }
                    return i
                },
                onSearch: function (t) {
                    var e = this;
                    13 == t.keyCode && (t.stopImmediatePropagation(), t.preventDefault(), YC.Utils.isMobile() && cordova.plugins.Keyboard.close(), e.$emit("on-filter-changed", [{
                        key: "searchcontent",
                        value: e.$data.searchValue
                    }]))
                },
                cancelSearch: function () {
                    var t = this;
                    t.$set(t.$data, "searchValue", ""), t.$set(t.$data, "showSearch", !1);
                    t.getFilterCondition();
                    t.$emit("on-filter-changed", t.getFilterCondition())
                },
                emptySearch: function () {
                    var t = this;
                    t.$set(t.$data, "searchValue", "")
                },
                showTheSearch: function () {
                    var t = this;
                    t.showSearch = !0, t.closeAllDropdown()
                }
            },
            watch: {
                filterItems: function (t, e) {
                    var i = this;
                    i.$set(i.$data, "customItems", i.getCustomItems())
                }
            }
        }, Vue.component("yytm-custom-filter", Vue.yytmCustomFilterComponentConfig);
        Vue.component("yytm-filter-ref", {
            props: ["condition", "index", "config"],
            template: '<div class="tab-link button" ><div v-tap="{ methods:showref,item:condition}" :style="buttonStyle">{{showtext}} <i class="fa fa-chevron-down"></i></div><yytm-popup v-if="condition.dropdown" v-model="condition.dropdown" position="right" class="mint-popup-1" :modal="false" v-bind:rendered="true" :style="{ top:config.top, width:config.width, height:config.height }"><yytm-ref :show="condition.dropdown" :select-ref-values="selectRefValueArray"  :config="getrefconfig(condition)" @get-ref-data="getRefData" @close="close"></yytm-ref></yytm-popup></div>',
            data: function () {
                var t = {};
                return this.condition.defaultValue && (t = {
                    color: "#15C8A9"
                }), {
                    config: {
                        top: "80px",
                        width: "100%",
                        height: "70%",
                        isShow: !1
                    },
                    showtext: this.condition.label,
                    id: this.condition.defaultValue,
                    selectedPks: null,
                    buttonStyle: t,
                    selectRefValueArray: []
                }
            },
            methods: {
                showref: function (t) {
                    this.$emit("before-show-filter-item", this.$props.index), this.condition.selectRefValueArray && this.condition.selectRefValueArray.length > 0 && (this.selectRefValueArray = this.condition.selectRefValueArray), console.log("yytm-filter-ref====showRef ......" + Date.parse(new Date)), this.$emit("closedropdown", this.$props.index), t.item.selectRefValueArray && t.item.selectRefValueArray.length > 0 ? this.$set(this.$data, "selectRefValueArray", t.item.selectRefValueArray) : 0 == this.$data.selectRefValueArray.length && this.$set(this.$data, "selectRefValueArray", [])
                },
                getrefconfig: function (t) {
                    var e = this;
                    return {
                        refType: t.reftype,
                        refKey: t.itemkey,
                        refTitle: t.label,
                        isMultiSelect: t.multiSelect,
                        refParams: t.refParams,
                        location: e.config.location
                    }
                },
                getRefData: function (t) {
                    if (t.refValue && 0 != t.refValue.length) {
                        this.$set(this.$data, "buttonStyle", {
                            color: "#15C8A9"
                        });
                        for (var e = "", i = "", a = 0; a < t.refValue.length; a++) e = e + t.refValue[a].name + ",", i = i + t.refValue[a].pk + ",";
                        e = e.substring(0, e.length - 1), i = i.substring(0, i.length - 1), this.$emit("updateAndDoQuery", this.$props.index, i), this.$set(this.$data, "selectRefValueArray", t.refValue)
                    } else this.$emit("updateAndDoQuery", this.$props.index, ""), this.$set(this.$data, "selectRefValueArray", t.refValue), this.$set(this.$data, "buttonStyle", {})
                },
                processSelectRefValueArray: function () {
                    var t = [];
                    if (this.condition.selectRefValueArray)
                        if (this.condition.defaultValue.indexOf(",") > 0 && this.condition.isMultiSelect)
                            for (var e = this.condition.defaultValue.split(","), i = this.condition.label.split(","), a = 0; a < e.length; a++) t.push({
                                name: i[a],
                                pk: e[a]
                            });
                        else t.push({
                            name: this.condition.label,
                            pk: this.condition.defaultValue
                        });
                    return t
                },
                close: function () {
                    this.$set(this.condition, "dropdown", !1)
                }
            },
            computed: {
                buttonStyle: function () {
                    return this.id && "" != this.id ? {
                        color: "#15C8A9"
                    } : {}
                }
            },
            watch: {}
        }), dataType = {
            TEXT: 0,
            INTEGER: 1,
            DECIMAL: 2,
            DATE: 3,
            LOGIC: 4,
            REF: 5,
            SELECT: 6
        };
        var o = '<div class="buttons-tab"><template v-for="(condition,index) in mainfiltercondition"><template v-if="condition.datatype == ' + dataType.SELECT + '"><yytm-select v-bind:condition="condition" v-bind:index="index" @get-select-tree-children="getSelectTreeChildren" v-on:updateAndDoQuery="updateAndDoQuery" v-on:closedropdown="closedropdown" @before-show-filter-item="beforeShowFilterItem"></yytm-select></template><template v-else-if="condition.datatype == ' + dataType.LOGIC + '"><yytm-logic v-bind:condition="condition" v-bind:index="index" v-on:updateAndDoQuery="updateAndDoQuery" v-on:closedropdown="closedropdown" @before-show-filter-item="beforeShowFilterItem"></yytm-logic></template><template v-else-if="condition.datatype == ' + dataType.REF + '"><yytm-filter-ref v-bind:condition="condition" :config="config" v-bind:index="index" v-on:updateAndDoQuery="updateAndDoQuery" v-on:closedropdown="closedropdown" @before-show-filter-item="beforeShowFilterItem"></yytm-filter-ref></template></template><div class="buttons-search" v-on:click="popupSearch()"> <i class="fa fa-search"></i></div><div class="bar-header-secondary" v-bind:class="{ active: getSearchBarStyle()}"><div class="searchbar"><form class="search-input"><div v-if="showSearch"><input type="search" id="search" @keydown.stop="onSearch($event)" v-model="searchValue" :placeholder="searchplaceholder" v-focus="showSearch"><div class="search-cancel" @click="cancelSearch">取消</div></div></form></div></div></div>';
        Vue.yytmfilterComponentConfig = {
            props: ["config", "filtercondition"],
            template: o,
            data: function () {
                return {
                    mainfiltercondition: [],
                    extendfiltercondition: [],
                    searchValue: "",
                    showSearch: !1,
                    searchplaceholder: "请输入关键字...",
                    queryTemplateId: "",
                    onlySearch: !1
                }
            },
            methods: {
                getrefconfig: function (t) {
                    return {
                        refType: t.reftype,
                        refKey: t.itemkey
                    }
                },
                getSearchBarStyle: function () {
                    return !(!this.onlySearch && !this.showSearch)
                },
                getRefData: function (t) {
                    if (t.refValue && 0 != t.refValue.length)
                        for (var e in this.$data.mainfiltercondition) {
                            if (this.$data.mainfiltercondition[e].itemkey == t.refKey) {
                                for (var i = "", a = "", n = 0; n < t.refValue.length; n++) i = i + "," + t.refValue[n].name, a = a + "," + t.refValue[n].value;
                                this.$set(this.$data.mainfiltercondition[e], "defaultValue", a), this.$set(this.$data.mainfiltercondition[e], "label", i)
                            }
                            this.$set(this.$data.mainfiltercondition[e], "dropdown", !1)
                        }
                },
                showref: function (t) {
                    this.$set(t, "dropdown", !t.dropdown)
                },
                popupSearch: function () {
                    var t = this.$data.showSearch;
                    this.$data.showSearch = !t
                },
                doQuery: function (t) {
                    var e = this.getSearchParams(t);
                    this.$emit("on-filtercond-changed", e)
                },
                requestData: function () {
                    if (this.$props.filtercondition) return this.$set(this.$data, "mainfiltercondition", this.$props.filtercondition), void (0 == this.$data.mainfiltercondition.length && (this.$set(this.$data, "onlySearch", !0), this.$set(this.$data, "showSearch", !0)));
                    var t = this.config.params;
                    t.nodeKey || (t.nodeKey = "MOBILE_LIST");
                    var e = {
                        isLoadData: !1,
                        templateUrl: this.$props.config.params.location + "/getFilterComponentTemplate.mjson",
                        isLoadTemplate: !0,
                        dataUrl: "",
                        params: t
                    };
                    YC.Utils.getYytmComponentConfig(e, this.disposeData)
                },
                disposeData: function (t) {
                    var e = this;
                    if (t.invocationResult.isSuccessful) {
                        var i = t.invocationResult.template.mainFilterGroup;
                        if (i) {
                            for (var a in this.template) i[a].dropdown = !1;
                            e.$set(e.$data, "mainfiltercondition", i)
                        }
                        var n = t.invocationResult.template.extendFilterGroup;
                        n && e.$set(e.$data, "extendfiltercondition", n);
                        var o = t.invocationResult.template.placeholder;
                        o && e.$set(e.$data, "searchplaceholder", o), 0 == this.$data.mainfiltercondition.length && this.$set(this.$data, "onlySearch", !0);
                        var s = t.invocationResult.template.queryTemplateId;
                        e.$set(e.$data, "queryTemplateId", s)
                    }
                },
                updateAndDoQuery: function (t, e) {
                    this.$set(this.$data.mainfiltercondition[t], "defaultValue", e), e || this.$data.mainfiltercondition[t].datatype != this.DataType.REF || (this.$data.mainfiltercondition[t].selectRefValueArray = []), this.$set(this.$data.mainfiltercondition[t], "dropdown", !1), this.$emit("after-filter-item-change", this.$data.mainfiltercondition[t]);
                    this.getQueryCondtion();
                    this.doQuery()
                },
                closedropdown: function (t, e) {
                    var e = this.$data.mainfiltercondition[t].dropdown;
                    this.$set(this.$data.mainfiltercondition[t], "dropdown", !e);
                    var i = this.$data.mainfiltercondition[t].itemkey;
                    if (!e)
                        for (var a in this.$data.mainfiltercondition) this.$data.mainfiltercondition[a].itemkey != i && this.$set(this.$data.mainfiltercondition[a], "dropdown", !1)
                },
                getSearchParams: function (t) {
                    var e = {
                        PUB_PARAMS: this.getQueryCondtion(),
                        searchboxCondition: this.$data.searchValue,
                        queryTemplateId: this.$data.queryTemplateId
                    };
                    return t && (e.extraParams = t), e
                },
                getQueryCondtion: function () {
                    var t = new Array;
                    for (var e in this.$data.mainfiltercondition) {
                        var i = this.mainfiltercondition[e],
                            a = i.defaultValue;
                        if (8 == i.display_type && (a = this.$data.searchValue), a) {
                            var n = {
                                fieldName: i.itemkey,
                                condition: i.opera_code,
                                value: a
                            };
                            t.push(n)
                        }
                    }
                    for (var e in this.$data.extendfiltercondition) {
                        var i = this.extendfiltercondition[e],
                            a = i.defaultValue;
                        if (8 == i.display_type && (a = this.$data.searchValue), a) {
                            var n = {
                                fieldName: i.itemkey,
                                condition: i.opera_code,
                                value: a
                            };
                            t.push(n)
                        }
                    }
                    return t.length <= 0 ? "[]" : JSON.stringify(t)
                },
                getSelectTreeChildren: function (t) {
                    this.$emit("get-filter-tree-children", t)
                },
                cancelSearch: function () {
                    this.onlySearch ? (this.$set(this.$data, "searchValue", ""), this.doQuery()) : (this.$set(this.$data, "searchValue", ""), this.doQuery(), this.showSearch = !1)
                },
                onSearch: function (t) {
                    13 == t.keyCode && (t.stopImmediatePropagation(), t.preventDefault(), YC.Utils.isMobile() && cordova.plugins.Keyboard.close(), this.doQuery())
                },
                beforeShowFilterItem: function (t) {
                    var e = this.$data.mainfiltercondition[t];
                    this.$emit("before-filter-item-show", e)
                }
            },
            computed: {},
            created: function () {
                this.requestData()
            },
            watch: {
                filtercondition: function (t, e) {
                    this.requestData()
                }
            }
        }, Vue.component("yytm-filter", Vue.yytmfilterComponentConfig), colormap = {
            Y: "green",
            N: "red"
        }, Vue.component("yytm-logic", {
            props: ["condition", "index"],
            template: '<div><label v-bind:style="style" v-on:click="onclick()">{{condition.label}}</label></div>>',
            data: function () {
                return {
                    style: {
                        color: "black"
                    }
                }
            },
            methods: {
                onclick: function () {
                    this.$emit("before-show-filter-item", this.$props.index);
                    var t = this.$props.condition.defaultValue,
                        e = "";
                    t ? "Y" == t ? (t = "N", e = colormap[t]) : "N" == t && (t = "", e = "black") : (t = "Y", e = colormap[t]), this.$data.style.color = e, this.$emit("closedropdown", this.$props.index), this.$emit("updateAndDoQuery", this.$props.index, t)
                }
            },
            created: function () {
                var t = this.$props.condition.defaultValue,
                    e = "black";
                t && (e = colormap.currentValue), this.$set(this.$data.style, "color", e)
            }
        });
        Vue.yytmGridComponentConfig = {
            template: '<div class="app-wrap"><div class="app-item" v-if="gridTitle"><div class="app-item-title">{{gridTitle}}<span v-if="editable && dragable" class="app-item-title-tip">(按住拖动可排序)</span>\t</div></div><div class="app-content"><div class="has-no-data no-network" v-if="gridData.length==0"><div>对不起，还未添加应用~</div></div><template v-if="editable"><template v-if="dragable"><draggable :list="gridData" :options="{animation: 300,handle:\'.tuozhuai\'}"><transition-group><template v-if="isApps"><div class="app-content-box tuozhuai" v-for="item in gridData" :key="item.pk_appregister"><div class="app-content-box-img "><img :src="item.vicon_url"/></div><i :class="getEditIcon(item)" v-tap="{ methods:onEditIconClick,item:item}"></i><div class="app-content-box-title">{{item.vapp_name}}</div></div></template><template v-else><div class="app-content-box tuozhuai" v-for="item in gridData" :key="item.name"><div class="app-content-box-img "><img :src="item.picPath"/></div><i :class="getEditIcon(item)" v-tap="{ methods:onEditIconClick,item:item}"></i><div class="app-content-box-title">{{item.name}}</div></div></template></transition-group></draggable></template><template v-else><template v-for="item in gridData"><div :class="{\'app-content-box\':true,\'choosed\':item._selected}" @click="gridItemClick($event,item)"><i :class="getEditIcon(item)" v-tap="{ methods:onEditIconClick,item:item}"></i><i v-if="false" class="isnew">新</i><template v-if="isApps"><div class="app-content-box-img"><img :src="item.vicon_url"/></div><div class="app-content-box-title">{{item.vapp_name}}</div></template><template v-else><div class="app-content-box-img"><img :src="item.picPath"/></div><div class="app-content-box-title">{{item.name}}</div></template></div></template></template></template><template v-else><template v-for="item in gridData" ><div class="app-content-box" v-on:click="gridItemClick($event,item)"><template v-if="isApps"><div class="app-content-box-img"><img :src="item.vicon_url" alt="" title="" border="0"></div><div class="app-content-box-title">{{item.vapp_name}}</div><div class="yyt-progress-inner" v-if="item.needLoading">\t<div class="yyt-progress-bg" style="width: 0%;" :ref="item.pk_appregister"></div></div></template><template v-else><div class="app-content-box-img"><img :src="item.picPath" alt="" title="" border="0"></div><div class="app-content-box-title">{{item.name}}</div></template></div></template></template></div></div>',
            props: {
                rows: {
                    type: Number,
                    default: 3
                },
                title: {
                    type: String,
                    default: ""
                },
                grid: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                selGrid: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                editable: {
                    type: Boolean,
                    default: !1
                },
                editType: {
                    type: String,
                    default: "sub"
                },
                dragable: {
                    type: Boolean,
                    default: !1
                },
                isApps: {
                    type: Boolean,
                    default: !1
                }
            },
            data: function () {
                var t = YC.Utils.clone(this.$props.grid);
                return this.initGrid(t), {
                    width: 1,
                    gridTitle: "",
                    gridData: t
                }
            },
            methods: {
                initGrid: function (t) {
                    for (var e = this.$props.selGrid, i = 0; i < t.length; i++)
                        if ("add" == this.$props.editType) {
                            t[i]._selected = !1;
                            for (var a = 0; a < e.length; a++) this.isApps ? t[i].pk_appregister == e[a].pk_appregister && (t[i]._selected = !0) : t[i].funcId == e[a].funcId && (t[i]._selected = !0)
                        }
                },
                gridItemClick: function (t, e) {
                    this.$emit("yytm-grid-item-click", e)
                },
                getEditIcon: function (t) {
                    var e = this.editType;
                    if (e) {
                        var i = {
                            fa: !0
                        };
                        return "add" == e ? t._selected ? i["fa-check-circle"] = !0 : i["fa-plus-circle"] = !0 : "sub" == e && (i["fa-minus-circle"] = !0), i
                    }
                },
                onEditIconClick: function (t, e) {
                    var i = this.editType;
                    i && ("add" == i ? arguments[0].item._selected || this.$set(arguments[0].item, "_selected", !0) : "sub" == i && this.delNodeFromGrid(arguments[0].item)), this.$emit("after-item-edit", {
                        item: arguments[0].item,
                        gridData: this.$data.gridData
                    })
                },
                delNodeFromGrid: function (t) {
                    for (var e = this.$data.gridData, i = e.length - 1; i >= 0; i--) {
                        var a = e[i];
                        if (this.isApps) {
                            if (a.pk_appregister == t.pk_appregister) {
                                e.splice(i, 1);
                                break
                            }
                        } else if (a.id == t.id) {
                            e.splice(i, 1);
                            break
                        }
                    }
                }
            },
            beforeCreate: function () {
                console.log(this.$props)
            },
            created: function () {
                this.$set(this.$data, "gridTitle", this.$props.title);
                var t = this.$props.rows;
                this.$set(this.$data, "width", 100 / t)
            },
            mounted: function () {
            },
            watch: {
                editable: function (t, e) {
                    0 == t && this.$emit("update-grid-data", this.$data.gridData)
                },
                selGrid: function (t, e) {
                    this.initGrid(this.$data.gridData), this.$set(this.$data, "gridData", this.$data.gridData)
                },
                grid: function (t, e) {
                    var i = YC.Utils.clone(this.$props.grid);
                    this.initGrid(i), this.$set(this.$data, "gridData", i)
                }
            }
        }, Vue.component("yytm-grid", Vue.yytmGridComponentConfig);
        Vue.component("yytm-header", {
            template: '<div><header v-show="isShow" class="mint-header" :class="{ \'is-fixed\': \'fixed\' }"><div class="bar-l"><slot name="left"><mt-button icon="back" style="z-index:9999;" @click.native="onClickBack($event)">返回</mt-button></slot></div><div class="bar-c" @click="onHeaderClick">{{config.title}}</div><div class="bar-r"><slot name="right"><mt-button v-if="rightHeaderButtons.length>1" icon="more" slot="right" @click.native="onClickMore($event)"></mt-button><mt-button v-else-if="rightHeaderButtons.length==1" :icon="rightHeaderButtons[0].icon" slot="right" @click.native="onClickItem($event,rightHeaderButtons[0])">{{rightHeaderButtons[0].name}}</mt-button><mt-button v-else slot="right"></mt-button></slot></div></header><div v-if="rightFloatButtons.length >= 1" @click="onClickItem($event,rightFloatButtons[0])" :class="\'bar-entry \'+(rightFloatButtons[0].floatPosition == \'top\' ? \'bar-top\':\'\')"><div class="bar-icon"><p class="bar-image" v-if="rightFloatButtons[0].icon"><img :src="\'/ycmobileupdate/resources/default/images/native/\'+rightFloatButtons[0].icon+\'.png\'" /> </p><p v-else>{{rightFloatButtons[0].name}}</p></div></div><mt-actionsheet :actions="config.rightConfig" v-model="showSheet" cancelText=""></mt-actionsheet></div>',
            props: ["config"],
            data: function () {
                return this.config.rightConfig && 1 == this.config.rightConfig.length && this.config.rightConfig[0].icon && "" != this.config.rightConfig[0].icon && (this.config.rightConfig[0].name = ""), {
                    showSheet: !1,
                    isShow: !(YC.Utils.isMobile() || YC.Utils.isWEIXIN() || YC.Utils.isUPESN() || YC.Utils.isDingTalk()),
                    rightHeaderButtons: [],
                    rightFloatButtons: []
                }
            },
            beforeMount: function () {
                this.initNativeHeader()
            },
            methods: {
                onClickMore: function (t) {
                    YC.Utils.isMobile() || (t.stopImmediatePropagation(), t.preventDefault());
                    for (var e = 0; e < this.config.rightConfig.length; e++) this.config.rightConfig[e]["name"] = this.config.rightConfig[e]["text"], this.config.rightConfig[e]["method"] = this.onSheetActionItemClick;
                    this.sheetActios = this.config.rightConfig, this.showSheet = !0
                },
                onClickItem: function (t, e) {
                    YC.Utils.isMobile() || (t.stopImmediatePropagation(), t.preventDefault()), this.onSheetActionItemClick(e)
                },
                onSheetActionItemClick: function (t) {
                    this.$emit("on-header-sheet-click", t)
                },
                onClickBack: function (t) {
                    YC.Utils.isMobile() || (t.stopImmediatePropagation(), t.preventDefault()), this.clickBackHandler()
                },
                clickBackHandler: function () {
                    this._events["on-click-back"], this._events["on-click-back"] ? this.$emit("on-click-back") : YC.Utils.CloseCurrentWindow()
                },
                getHeaderIcon: function (t) {
                    if (t) {
                        var e = {
                            fa: !0
                        };
                        return e[t] = !0, e
                    }
                    return {}
                },
                onHeaderClick: function () {
                    this.$props.config.titleEvent && "function" == typeof this.$props.config.titleEvent && this.$props.config.titleEvent(this.$props.config)
                },
                initNativeHeader: function () {
                    var t = this;
                    if (this.rightFloatButtons = [], this.rightHeaderButtons = [], this.config.rightConfig && this.config.rightConfig.length > 0)
                        for (var e = 0; e < this.config.rightConfig.length; e++) {
                            var i = this.config.rightConfig[e];
                            YC.Utils.isMobile() ? i.isFloat ? this.rightFloatButtons.push(i) : this.rightHeaderButtons.push(i) : this.rightFloatButtons.push(i)
                        }
                    if (YC.Utils.isMobile()) {
                        YC.Navigation.setTitle(this.config.title + (this.config.titleIcon ? this.config.titleIcon : "")), YC.Navigation.setTitleClick(function () {
                            var e = t.config.titleIcon;
                            return "" == e ? (e = "", t.config.titleIcon = e, YC.Navigation.setTitle(t.config.title + e), void t.config.titleEvent()) : "" == e ? (e = "", t.config.titleIcon = e, YC.Navigation.setTitle(t.config.title + e), void t.config.titleEvent()) : void 0
                        });
                        var a = !1 === t.config.showMenu ? "false" : "true";
                        if (YC.Navigation.setLeft({
                            show: "true",
                            icon: "icon_back",
                            showMenu: a,
                            text: "",
                            onSuccess: function (e) {
                                YC.Navigation.closeMenuHandler(), t.onClickBack()
                            }
                        }), this.rightHeaderButtons.length > 0) {
                            var n = "";
                            !this.rightHeaderButtons || 1 != this.rightHeaderButtons.length || this.rightHeaderButtons[0].icon && "" != this.rightHeaderButtons[0].icon || (n = this.rightHeaderButtons[0].name), 1 == this.rightHeaderButtons.length ? YC.Navigation.setRight({
                                show: "true",
                                text: n,
                                icon: t.rightHeaderButtons[0].icon,
                                onSuccess: function (e) {
                                    t.onClickItem("", t.rightHeaderButtons[0])
                                }
                            }) : this.rightHeaderButtons.length > 1 && YC.Navigation.setMenu({
                                items: this.rightHeaderButtons,
                                onSuccess: function (e) {
                                    for (var i = 0; i < t.rightHeaderButtons.length; i++) t.rightHeaderButtons[i].id == e && t.onClickItem("", t.rightHeaderButtons[i])
                                }
                            })
                        } else YC.Navigation.setRight({
                            show: "false",
                            text: "",
                            icon: ""
                        })
                    }
                }
            },
            watch: {
                config: function (t, e) {
                    this.initNativeHeader()
                },
                "config.title": function (t, e) {
                    YC.Utils.isMobile() && YC.Navigation.setTitle(t + (this.config.titleIcon ? this.config.titleIcon : ""))
                },
                "config.rightConfig": function (t, e) {
                    this.initNativeHeader()
                }
            }
        });
        Vue.yytmDropdownlistComponentConfig = {
            template: '<yytm-popup v-model="isShow" position="top" class="mint-popup-1" :modal="false" :style="{ top: top,width:width,height:height }"><slot name="content"></slot></yytm-popup>',
            props: ["config", "show"],
            data: function () {
                return {
                    top: "40px",
                    width: "100%",
                    height: "70%",
                    isShow: !1
                }
            },
            methods: {},
            created: function () {
                var t = this.$props.config;
                t && (t.top && this.$set(this.$data, "top", t.top), t.width && this.$set(this.$data, "width", t.width), t.height && this.$set(this.$data, "height", t.height)), this.$props.show && this.$set(this.$data, "isShow", !0)
            },
            mounted: function () {
            },
            watch: {
                show: function (t, e) {
                    this.$set(this.$data, "isShow", t)
                }
            }
        }, Vue.component("yytm_dropdown", Vue.yytmDropdownlistComponentConfig);
        Vue.component("yytm-common-apps", {
            template: '<div class="home-app" >\t<div class="home-app-title">\t\t<div class="home-app-title-l"><div class="home-app-img"><img :src="homeAppImg" alt=""></div> 常用{{title}}</div>\t\t<div class="home-app-title-r" @click="managerCommonApps">管理 <span v-if="isHasNewApp" class="tip">新应用</span></div>\t</div>\t<div class="home-app-content"><mt-spinner v-if="isLoading" type="fading-circle"></mt-spinner>\t\t<div :class="{\'loading\':isLoading}"></div>\t\t<template v-for="item in commonApps">\t\t\t<div class="home-app-content-box" @click="clickCommonApp($event,item)">\t\t\t\t<div class="home-app-content-box-img"><img :src="item.picPath"/></div>\t\t\t\t<div class="home-app-content-box-title">{{item.name}}</div>\t\t\t</div>\t\t</template>\t\t<div class="home-app-content-box" v-show="commonApps.length !=0" @click="managerCommonApps">\t\t\t<div class="home-app-content-box-img"><img src="/ycmobileupdate/resources/default/images/entry-add.png"/></div>\t\t\t<div class="home-app-content-box-title">添加</div>\t\t</div>\t<div class="has-no-data no-network" v-show="commonApps.length ==0" @click="managerCommonApps"><div>请点击此处添加~</div></div>\t</div></div>',
            props: {
                commonApps: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                isLoading: {
                    type: Boolean,
                    default: !1
                },
                moduleCode: {
                    type: String,
                    default: ""
                },
                title: {
                    type: String,
                    default: "应用"
                }
            },
            data: function () {
                return {
                    homeAppImg: "/ycmobileupdate/resources/default/images/yy.png",
                    isHasNewApp: !1
                }
            },
            created: function () {
                var t = this;
                setTimeout(function () {
                    t.queryNewApps()
                }, 1e3)
            },
            methods: {
                managerCommonApps: function () {
                    var t = this;
                    YC.LocalStorage.setValue(YC.AppProperty.MANAGE_MODULE_CODE, this.moduleCode), YC.Window.openWindow("page/ManageFuncs.html", {
                        title: "管理"
                    }, function () {
                        t.commonApps = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_COMMON_APPS + "_" + t.moduleCode)), t.queryNewApps()
                    })
                },
                queryNewApps: function () {
                    var t = this,
                        e = {
                            adapter: "WebncAdapter",
                            procedure: "queryNewFuncList",
                            parameters: [t.moduleCode]
                        };
                    YC.Client.invokeProcedureNeedUser(e, function (e) {
                        e.invocationResult.data && e.invocationResult.data.length > 0 ? t.isHasNewApp = !0 : t.isHasNewApp = !1
                    }, function (t) {
                    })
                },
                clickCommonApp: function (t, e) {
                    var i = this;
                    t.stopImmediatePropagation(), t.preventDefault();
                    !function () {
                        if (YC.Utils.saveOperationLog(e.code), 1 == e.apptype && e.appconfig) {
                            var t = e.appconfig;
                            if (YC.Utils.isIOS()) {
                                var a = t.iphoneschema,
                                    n = t.iphoneurl;
                                YC.Utils.openApp(a, n)
                            } else {
                                var o = t.androidpackage,
                                    s = t.androidurl;
                                YC.Utils.openApp(o, s)
                            }
                        } else if (2 == e.apptype) {
                            var r = "";
                            r = e.url && 0 == e.url.indexOf("http") ? e.url : "apps/" + e.location + "/" + e.url, YC.Window.openWindow(r, {
                                title: e.name
                            })
                        } else i.$emit("before-common-item-click", e), "DEF" == e.openType ? i.$emit("on-common-item-click", e) : 0 == e.location.indexOf("apps") && e.code.length > 6 ? YC.Window.openWindow(e.location, {
                            title: e.name
                        }, function () {
                        }, {
                            mbFunCode: e.code
                        }) : YC.SimpleDialog.show("提示", "未知应用类型", [{
                            text: "确定",
                            handler: function () {
                            }
                        }])
                    }()
                }
            }
        });
        Vue.component("yytm-index-banner", {
            template: '<div :class="bannerClassName">\t<mt-swipe :auto="10000" v-if="bannerList.firstBanner || bannerList.otherBanner">\t\t<mt-swipe-item v-if="bannerList.firstBanner">\t\t\t<div class="banner" :style="getBannerStyle(bannerList.firstBanner.img)">\t\t\t\t<div class="banner-article" :class="{\'disappear\':scrolled}">{{bannerList.firstBanner.slogan}}</div>\t\t\t</div>\t\t</mt-swipe-item>\t\t<template v-for="banner in bannerList.otherBanner">\t\t\t<mt-swipe-item>\t\t\t\t<div class="banner" :style="getBannerStyle(banner.img_url)"></div>\t\t\t</mt-swipe-item>\t\t</template>\t</mt-swipe>\t<div class="home-project" v-else><img src="images/banner/banner2.png" /></div></div>',
            data: function () {
                var t = "home-banner home-banner-busi";
                return YC.Utils.getUrlParam(window.location.href, "isFirstTab") && (t = "home-banner"), {
                    isShowFirstBanner: !1,
                    bannerList: {
                        firstBanner: null,
                        otherBanner: null
                    },
                    firstBannerConfig: null,
                    witchBanner: {},
                    scrolled: !1,
                    article: "",
                    sloganCache: {
                        early: {
                            items: []
                        },
                        morning: {
                            items: []
                        },
                        midday: {}
                    },
                    bannerClassName: t
                }
            },
            created: function () {
                var t = this;
                t.loadFirstBanner(), t.loadOtherBanner()
            },
            methods: {
                handleScroll: function () {
                    this.scrolled = window.scrollY > 42
                },
                yytmIndexUpdate: function () {
                    var t = this;
                    t.loadFirstBanner(), t.loadOtherBanner(), t.showFirstBanner(), window.addEventListener("scroll", this.handleScroll)
                },
                loadFirstBanner: function () {
                    var t = this;
                    if (!this.firstBannerConfig) {
                        var e = {
                            adapter: "WebncAdapter",
                            procedure: "loadIndexIntervalConfig",
                            parameters: []
                        };
                        YC.Client.invokeProcedureNeedUser(e, function (e) {
                            e.invocationResult.data && e.invocationResult.data.length > 0 && (t.firstBannerConfig = e.invocationResult.data, t.showFirstBanner())
                        }, function (t) {
                        })
                    }
                },
                loadOtherBanner: function () {
                    var t = this;
                    if (!t.bannerList.otherBanner) {
                        var e = {
                            adapter: "WebncAdapter",
                            procedure: "queryIndexBanner",
                            parameters: []
                        };
                        YC.Client.invokeProcedureNeedUser(e, function (e) {
                            e.invocationResult.data && e.invocationResult.data.length > 0 && (t.bannerList.otherBanner = e.invocationResult.data)
                        }, function (t) {
                        })
                    }
                },
                showFirstBanner: function () {
                    if (this.firstBannerConfig) {
                        for (var t = new Date, e = t.format("hh:MM:dd"), i = 0; i < this.firstBannerConfig.length; i++) {
                            var a = this.firstBannerConfig[i];
                            if (a.starttime <= e && e <= a.endtime) {
                                var n = a.slogans.length;
                                if (n > 0) {
                                    this.isShowFirstBanner = !0;
                                    var o = parseInt(1e3 * Math.random()) % n;
                                    return void (this.bannerList.firstBanner = {
                                        img: a.bannerimg,
                                        slogan: a.slogans[o].slogancontent
                                    })
                                }
                            }
                        }
                        this.bannerList.firstBanner = null
                    }
                },
                getBannerStyle: function (t) {
                    return {
                        "background-image": "url(" + YC.Utils.getAppResDownloadUrl(t) + ")"
                    }
                }
            }
        });
        var s = '<div class="home-app" >\t<div class="home-app-title">\t\t<div class="home-app-title-l"><div class="home-app-img"><img :src="homeAppImg" alt=""></div> 常用应用</div>\t\t<div class="home-app-title-r" @click="managerCommonApps">管理 <span v-if="isHasNewApp" class="tip">新应用</span></div>\t</div>\t<div class="home-app-content"><mt-spinner v-if="isLoading" type="fading-circle"></mt-spinner>\t\t<div :class="{\'loading\':isLoading}"></div>\t\t<template v-for="(item,index) in commonApps">\t\t\t<div class="home-app-content-box" @click="clickCommonApp($event,item)">    \t\t\t<div class="yyt-progress-inner" v-show="item.needLoading" >\t\t\t\t\t<div class="yyt-progress-bg" style="width: 0%;" :ref="item.pk_appregister"></div>\t\t\t\t</div>\t\t\t\t<div class="home-app-content-box-img"><img :src="item.vicon_url"/></div>\t\t\t\t<div class="home-app-content-box-title">{{item.vapp_name}}</div>\t\t\t</div>\t\t</template>\t\t<div class="home-app-content-box" v-show="commonApps.length !=0" @click="managerCommonApps">\t\t\t<div class="home-app-content-box-img"><img src="../../images/entry-add.png"/></div>\t\t\t<div class="home-app-content-box-title">添加</div>\t\t</div>\t<div class="has-no-data no-network" v-show="commonApps.length ==0" @click="managerCommonApps"><div>请点击此处添加~</div></div>\t</div></div>';
        Vue.component("yytm-index-common-apps", {
            template: s,
            data: function () {
                var t = window.location.href;
                t = t.substring(0, t.indexOf(YC.StaticAppProps.SKIN) + YC.StaticAppProps.SKIN.length);
                var e = [],
                    i = !0;
                return YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_COMMON_APPS) && (e = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_COMMON_APPS)), i = !1), {
                    commonApps: e,
                    isLoading: i,
                    homeAppImg: t + "/images/yy.png",
                    isHasNewApp: !1
                }
            },
            methods: {
                setLoadingPercent: function (t, e) {
                    this.$refs[t][0].style.width = 100 * e + "%"
                },
                managerCommonApps: function () {
                    var t = this;
                    YC.Window.openWindow("page/ManageApps.html", {
                        title: "管理"
                    }, function () {
                        t.commonApps = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_COMMON_APPS)), t.queryNewApps()
                    })
                },
                queryNewApps: function () {
                    var t = this,
                        e = {
                            adapter: "WebncAdapter",
                            procedure: "queryNewAppsList",
                            parameters: ["MDHZ"]
                        };
                    YC.Client.invokeProcedureNeedUser(e, function (e) {
                        e.invocationResult.data && e.invocationResult.data.length > 0 ? t.isHasNewApp = !0 : t.isHasNewApp = !1
                    }, function (t) {
                    })
                },
                yytmIndexUpdate: function () {
                    var t = this;
                    this.getCommonAndAllApps(), setTimeout(function () {
                        t.queryNewApps()
                    }, 1e3)
                },
                getCommonAndAllApps: function () {
                    var t = this,
                        e = {
                            adapter: "WebncAdapter",
                            procedure: "getAppsRegister",
                            method: "get",
                            parameters: []
                        },
                        i = function (e) {
                            t.isLoading = !1;
                            var i = (e.invocationResult.apps, e.invocationResult.commonApps || e.invocationResult.apps);
                            0 == i.length && (i = e.invocationResult.apps), t.commonApps = [];
                            for (var a = 0; a < i.length; a++) {
                                var n = i[a];
                                n.vicon_url = YC.Utils.getAppResDownloadUrl(n.vicon_url), n.vapp_resurl = YC.Utils.getAppResDownloadUrl(n.vapp_resurl), "MDHZ02" != n.fun_code && 0 != n.fun_code.indexOf("MDHZA") && (n["choose"] = !0, n["needLoading"] = !1, t.commonApps.push(n))
                            }
                            YC.LocalStorage.setValue(YC.AppProperty.UFT_USER_COMMON_APPS, JSON.stringify(t.commonApps))
                        },
                        a = function () {
                            t.isLoading = !1
                        };
                    YC.Utils.checkNetworkInfo(function () {
                        YC.Client.invokeProcedureNeedUser(e, i, a)
                    }, function () {
                        var t = {
                            invocationResult: {
                                apps: JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS)),
                                commonApps: JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_COMMON_APPS))
                            }
                        };
                        i(t)
                    })
                },
                clickCommonApp: function (t, e) {
                    var i = this;
                    t.stopImmediatePropagation(), t.preventDefault(), YC.Utils.clickAppItem(e, null, function (t) {
                        i.setLoadingPercent(e.pk_appregister, t.loaded / t.total), t.loaded == t.total ? setTimeout(function () {
                            i.$set(e, "needLoading", !1)
                        }, 300) : i.$set(e, "needLoading", !0)
                    })
                }
            }
        });
        Vue.component("yytm-index-menu", {
            template: '<div>\t<div class="box-l" v-bind:class="{ \'active\': showSidebar,\'is-android\':isAndroidIndex,\'is-ios\':isIosIndex}">\t\t<div class="sidebar-header">\t\t\t<div class="sidebar-user">    \t\t\t<div class="sidebar-user-l">        \t\t\t<div class="sidebar-user-img" @click="menuClick($event,\'setting\')"><img :src="user_avatar" onerror="this.src=\'/ycmobileupdate/resources/default/images/avatar-user.png\'" /></div>    \t\t\t</div>    \t\t\t<div class="sidebar-user-r">        \t\t\t<div class="sidebar-user-info name">{{userInfo.user_name}}</div>        \t\t\t<div class="sidebar-user-info dept">{{userInfo.unitshortname}}</div>    \t\t\t</div>\t\t\t</div>\t\t\t<div class="sidebar-item">\t\t\t</div>\t\t</div>\t\t<div class="sidebar-main">\t\t\t<div class="sidebar-content">   \t\t\t<div class="sidebar-content-menu" :class="{ \'active\' : selected==\'index\'}" @click="menuClick($event,\'index\')">  \t      \t\t\t<img :src="index_home" alt="">首页    \t\t\t</div>\t\t\t\t<template v-if="!isPDA">    \t\t\t<div v-if="appCodeMap[\'MDHZ02\']" class="sidebar-content-menu" :class="{ \'active\' : selected==\'workflowTodo\'}" @click="menuClick($event,\'workFlow\')">        \t\t\t<img :src="appsMap.MDHZ02.vicon_url" alt="">{{appsMap.MDHZ02.vapp_name}}    \t\t\t</div>    \t\t\t<div v-if="appCodeMap[\'MDHZA1\']" class="sidebar-content-menu" :class="{ \'active\' : selected==\'busiTodo\'}" @click="menuClick($event,\'busiTodo\')">        \t\t\t<img :src="appsMap.MDHZA1.vicon_url" alt="">{{appsMap.MDHZA1.vapp_name}}    \t\t\t\t<div class="yyt-progress-inner" v-show="appsMap.MDHZA1.needLoading">\t\t\t\t\t\t<div class="yyt-progress-bg" style="width: 0%;" :ref="appsMap.MDHZA1.pk_appregister"></div>\t\t\t\t\t</div>    \t\t\t</div>    \t\t\t<div v-if="appCodeMap[\'MDHZA2\']" class="sidebar-content-menu" :class="{ \'active\' : selected==\'myBill\'}" @click="menuClick($event,\'myBill\')">        \t\t\t<img :src="appsMap.MDHZA2.vicon_url" alt="">{{appsMap.MDHZA2.vapp_name}}    \t\t\t</div>    \t\t\t<div v-if="appCodeMap[\'MDHZA3\']" class="sidebar-content-menu" :class="{ \'active\' : selected==\'signIn\'}" @click="menuClick($event,\'signIn\')">        \t\t\t<img :src="appsMap.MDHZA3.vicon_url" alt="">{{appsMap.MDHZA3.vapp_name}}    \t\t\t</div>    \t\t\t<div v-if="appCodeMap[\'MDHZA4\']" class="sidebar-content-menu" :class="{ \'active\' : selected==\'myWallet\'}" @click="menuClick($event,\'myWallet\')">        \t\t\t<img :src="appsMap.MDHZA4.vicon_url" alt="">{{appsMap.MDHZA4.vapp_name}}    \t\t\t\t<div class="yyt-progress-inner" v-show="appsMap.MDHZA4.needLoading">\t\t\t\t\t\t<div class="yyt-progress-bg" style="width: 0%;" :ref="appsMap.MDHZA4.pk_appregister"></div>\t\t\t\t\t</div>    \t\t\t</div>\t\t\t\t</template>    \t\t\t<div class="sidebar-content-menu" @click="menuClick($event,\'setting\')">        \t\t\t<img :src="index_setting" alt="">设置    \t\t\t</div>    \t\t</div>\t\t</div>\t\t<div class="sidebar-footer">    \t\t<div class="sidebar-footer-cell" @click="menuClick($event,\'logout\')"><i class="fa fa-power-off"></i>退出</div>\t\t</div>\t</div>\t<div class="box-l-mask " v-bind:class="{ \'active\': showSidebar,\'is-android\':isAndroidIndex,\'is-ios\':isIosIndex}" @click="closeMenu"></div></div>',
            props: {
                selected: {
                    type: String,
                    default: ""
                }
            },
            data: function () {
                var t = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO));
                return t && YC.StaticAppProps.WORKLIGHT_ROOT_URL + "downloadUserAvatar.adapter?cuserid=" + t.cuserid + "&pk_corp=" + t.pk_corp, {
                    apps: [],
                    userInfo: t || {},
                    index_home: "/ycmobileupdate/resources/default/images/index-home.png",
                    index_setting: "/ycmobileupdate/resources/default/images/index-setting.png",
                    user_avatar: "/ycmobileupdate/resources/default/images/avatar-user.png",
                    showSidebar: !1,
                    isAndroidIndex: !1,
                    isIosIndex: !1,
                    isPDA: !1,
                    appCodeMap: {
                        MDHZ02: !1,
                        MDHZA1: !1,
                        MDHZA2: !1,
                        MDHZA3: !1,
                        MDHZA4: !1
                    },
                    appsMap: {
                        MDHZ02: {},
                        MDHZA1: {},
                        MDHZA2: {},
                        MDHZA3: {},
                        MDHZA4: {}
                    }
                }
            },
            created: function () {
                var t = this;
                if (this.getAvatorImgPath(), YC.Navigation.leftMenuHandler = function () {
                    t.showSidebar = !t.showSidebar
                }, YC.Navigation.closeMenuHandler = function () {
                    t.showSidebar = !1
                }, "index" == this.selected && YC.Utils.isMobile()) {
                    if (!YC.Utils.isAndroid()) return void (this.$data.isIosIndex = !0);
                    this.$data.isAndroidIndex = !0
                }
                if (YC.Utils.isPDA() && (this.$data.isPDA = !0), YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS)) {
                    var e = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS));
                    t.refreshShortFunc(e)
                }
            },
            methods: {
                closeMenu: function () {
                    this.showSidebar = !1
                },
                yytmIndexUpdate: function () {
                    var t = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO));
                    this.userInfo = t || {}
                },
                updateShortFunc: function () {
                    var t = this;
                    YC.Utils.asyncGetAllApps(function (e) {
                        t.apps = e, t.refreshShortFunc(e)
                    })
                },
                refreshShortFunc: function (t) {
                    var e = this;
                    for (var i in e.appCodeMap) e.$set(e.appCodeMap, i, !1);
                    for (var a = 0; a < t.length; a++) {
                        var n = t[a];
                        "MDHZ02" == n.fun_code ? (e.appCodeMap["MDHZ02"] = !0, e.appsMap["MDHZ02"] = n) : "MDHZA1" == n.fun_code ? (e.appCodeMap["MDHZA1"] = !0, e.appsMap["MDHZA1"] = n) : "MDHZA2" == n.fun_code ? (e.appCodeMap["MDHZA2"] = !0, e.appsMap["MDHZA2"] = n) : "MDHZA3" == n.fun_code ? (e.appCodeMap["MDHZA3"] = !0, e.appsMap["MDHZA3"] = n) : "MDHZA4" == n.fun_code && (e.appCodeMap["MDHZA4"] = !0, e.appsMap["MDHZA4"] = n)
                    }
                },
                menuClick: function (t, e) {
                    var i = this;
                    if (this.$emit("before-menu-click", e), "setting" == e && (this.showSidebar = !1, YC.Window.openWindow("apps/com.uftobacco.setting/index.html", {
                        title: "设置"
                    }, function () {
                        i.getAvatorImgPath()
                    })), "index" == e) {
                        this.showSidebar = !1;
                        window.location.href.indexOf(YC.StaticAppProps.MAINFILE) > -1 || YC.Window.popToRoot()
                    }
                    if ("workFlow" == e) {
                        this.showSidebar = !1;
                        var i = this;
                        YC.Utils.clickAppItem(i.appsMap["MDHZ02"], function () {
                            i.yytmIndexUpdate()
                        }, function (t) {
                        })
                    }
                    if ("busiTodo" == e) {
                        var i = this;
                        YC.Utils.clickAppItem(i.appsMap["MDHZA1"], function () {
                            i.showSidebar = !1, i.yytmIndexUpdate()
                        }, function (t) {
                            i.$refs[i.appsMap["MDHZA1"].pk_appregister].style.width = t.loaded / t.total * 100 + "%", t.loaded == t.total ? setTimeout(function () {
                                i.showSidebar = !1, i.$set(i.appsMap["MDHZA1"], "needLoading", !1)
                            }, 300) : i.$set(i.appsMap["MDHZA1"], "needLoading", !0)
                        })
                    }
                    if ("myBill" == e) {
                        this.showSidebar = !1;
                        var i = this;
                        YC.Utils.clickAppItem(i.appsMap["MDHZA2"], function () {
                            i.yytmIndexUpdate()
                        })
                    }
                    if ("signIn" == e) {
                        this.showSidebar = !1;
                        var i = this;
                        YC.Utils.clickAppItem(i.appsMap["MDHZA3"], function () {
                            i.yytmIndexUpdate()
                        }, function (t) {
                            console.info(t.loaded / t.total)
                        })
                    }
                    if ("myWallet" == e) {
                        var i = this,
                            a = YC.Utils.canAccessToFunc("MDHZ5410HA04"),
                            n = this.appsMap["MDHZA4"];
                        a ? YC.Utils.clickAppItem(n, function () {
                            i.yytmIndexUpdate()
                        }, function (t) {
                            i.$refs[n.pk_appregister].style.width = t.loaded / t.total * 100 + "%", t.loaded == t.total ? setTimeout(function () {
                                i.$set(n, "needLoading", !1)
                            }, 300) : i.$set(n, "needLoading", !0)
                        }) : this.$toast({
                            message: "全力开发中，敬请期待！",
                            iconClass: "mintui mintui-success",
                            duration: 1e3
                        })
                    }
                    "logout" == e && (this.showSidebar = !1, YC.UserAuth.logout())
                },
                getAvatorImgPath: function () {
                    var t = this,
                        e = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO)),
                        i = e.cuserid + ".jpg";
                    window.requestFileSystem(LocalFileSystem.PERSISTENT, 10485760, function (a) {
                        a.root.getFile(i, {
                            exclusive: !1
                        }, function (e) {
                            t.user_avatar = e.toURL() + "?ts=" + (new Date).getTime()
                        }, function (n) {
                            a.root.getFile(i, {
                                create: !0,
                                exclusive: !1
                            }, function (i) {
                                var a = new FileTransfer,
                                    n = i.toURL(),
                                    o = YC.StaticAppProps.WORKLIGHT_ROOT_URL + "downloadUserAvatar.adapter?cuserid=" + e.cuserid + "&pk_corp=" + e.pk_corp;
                                a.download(o, n, function (e) {
                                    t.user_avatar = e.toURL(), YC.Logger.error("头像下载成功了，下载地址为：" + o)
                                }, function (t) {
                                    YC.Logger.error("头像下载出错了，下载地址为：" + o)
                                }, !1, {})
                            })
                        })
                    })
                }
            },
            watch: {
                showSidebar: function (t, e) {
                    var i = this;
                    if (t)
                        if (YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS)) {
                            var a = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS));
                            i.refreshShortFunc(a)
                        } else i.updateShortFunc()
                }
            }
        });
        Vue.component("yytm-index-new-dynamics", {
            template: '<div class="home-dynamic">\t<div class="home-dynamic-title">\t\t<div class="home-dynamic-title-l"><div class="home-app-img"><img src="images/sj.png" alt=""></div> 最新动态</div>\t\t<div class="home-dynamic-title-r" @click="showDynamicDetails">更多</div>\t</div>\t<template v-if="dynamicList.items.length>0">\t<div class="home-dynamic-content">\t\t<div class="dy-timeline-dynamic">   \t\t<div class="dy-timeline-title" style="display:none;"><p><i class="fa fa-approve"></i><span></span></p></div>   \t\t<div class="dy-timeline-block" v-for="dynamic in dynamicList.items">\t\t\t\t<div class="dy-timeline-date">\t\t\t\t\t<i class="fa " :class="getIndexDynamicIconStyle(dynamic)"></i>\t\t\t\t</div>\t\t\t\t<div class="dy-timeline-content" @click="onDynamicClick(dynamic)" >\t\t\t\t\t<div class="dy-timeline-inner">       \t         \t<p :class="getDynamicTitleStyle(dynamic)" class=""><i class="fa" :class="getDynamicTitleIconStyle(dynamic)"></i>{{dynamic.vtitle}}\t\t\t\t\t\t<em class="fa-complete" v-if="dynamic.ibusistatus==bizStatus.CHECKPASS"></em>\t\t\t\t\t\t</p>\t\t\t \t\t  \t<p>{{dynamic.vcontent || "&nbsp;"}}</p>\t\t\t \t\t  \t<p v-if="dynamic.curcheckman">下一处理人：{{dynamic.curcheckman || "&nbsp;"}}</p>\t\t\t\t\t</div>\t\t\t\t\t<div class="dy-timeline-item">\t\t\t\t\t\t<p class="dy-time">{{getDistanceDate(dynamic.vdynamictime)}}</p>\t\t\t\t\t\t<p class="dy-dept">{{dynamic.nodename}}</p>\t\t\t\t\t</div>         \t\t</div>\t\t\t</div>\t\t</div>\t</div>\t</template>\t<div class="has-no-data" v-if="dynamicList.items.length==0"><div>暂无动态</div></div>   <div class="guide-landingpage" :class="{\'active\': showLanding}"><img @click="onClickLanding()" :src="landingImgUrl" /><span class="landing-close" @click="closeLanding"><i class="fa fa-close"></i></span></div>   <div class="guide-mask" :class="{\'active\': showLanding}" ></div></div>',
            props: ["config", "handler"],
            data: function () {
                return {
                    showLanding: !1,
                    landingImgUrl: "",
                    landingUrl: "",
                    landingTitle: "",
                    pk_mydynamics: "",
                    dynamicList: []
                }
            },
            created: function () {
            },
            methods: {
                closeLanding: function () {
                    this.showLanding = !1;
                    var t = {
                        adapter: "WebncAdapter",
                        procedure: "checkDynamicRead",
                        parameters: [{
                            pk_mydynamics: this.pk_mydynamics
                        }]
                    };
                    YC.Client.invokeProcedureNeedUser(t)
                },
                yytmIndexUpdate: function () {
                    if ("true" != YC.LocalStorage.getValue(YC.AppProperty.UFT_IS_ENABLE_LR)) {
                        var t = this;
                        t.showLanding = !1, t.loadLandingData()
                    }
                },
                managerCommonApps: function () {
                    window.location.href = "manageApps.html"
                },
                loadLandingData: function () {
                    var t = this,
                        e = {
                            adapter: "WebncAdapter",
                            procedure: "getMyDynamicDetails",
                            parameters: [{
                                dynamictypecode: "0002",
                                pagesize: 1,
                                offset: 0,
                                isPushNotification: !0
                            }]
                        },
                        i = function (e) {
                            t.loadIndexData();
                            var i = e.invocationResult.data.items;
                            if (i && i.length > 0) {
                                var a = i[0];
                                "Y" != a.isread && (t.landingImgUrl = a.vimgpath, t.landingUrl = a.vpath, t.landingTitle = a.vtitle, t.pk_mydynamics = a.pk_mydynamics, t.showLanding = !0)
                            }
                        };
                    YC.Client.invokeProcedureNeedUser(e, i, function (t) {
                    })
                },
                onClickLanding: function () {
                    this.closeLanding(), YC.Window.openWindow(this.landingUrl, {
                        title: this.landingTitle
                    })
                },
                loadIndexData: function () {
                    var t = this,
                        e = {
                            adapter: "WebncAdapter",
                            procedure: "getMyDynamicDetails",
                            parameters: [{
                                pagesize: 3,
                                offset: 0
                            }]
                        },
                        i = function (e) {
                            var i = e.invocationResult;
                            t.$set(t.$data, "dynamicList", i.data)
                        };
                    YC.Client.invokeProcedureNeedUser(e, i, function (t) {
                    })
                },
                getShowDate: function (t) {
                    return t.substring(5, 10)
                },
                getDistanceDate: function (t) {
                    if (t) {
                        var e = new Date(Date.parse(t.replace(/-/g, "/"))),
                            i = new Date,
                            a = i.format("yyyy-MM-dd");
                        if (t.substring(0, 10) == a.substring(0, 10)) {
                            var n = parseInt((i.getTime() - e.getTime()) / 1e3 / 60);
                            if (n < 1) return "刚刚";
                            if (n < 60) return n + "分钟前";
                            var o = parseInt(n / 60);
                            return o + "小时前"
                        }
                        var s = new Date;
                        s.setTime((new Date).getTime() - 864e5);
                        var r = new Date;
                        return r.setTime((new Date).getTime() - 1728e5), t.substring(0, 10) == s.format("yyyy-MM-dd") ? "昨天" : t.substring(0, 10) == r.format("yyyy-MM-dd") ? "前天" : parseInt((i.getTime() - e.getTime()) / 1e3 / 60 / 60 / 24) + "天前"
                    }
                },
                getDynamicTitleStyle: function (t) {
                    return {
                        "dy-reply": !0,
                        "dy-danger": !0
                    }
                },
                getDynamicTitleIconStyle: function (t) {
                    return {
                        "fa-times-circle-o": !0
                    }
                },
                getIndexDynamicIconStyle: function (t) {
                    var e = this;
                    return "0001" == t.dynamictype_code ? t.ibusistatus == e.bizStatus.CHECKPASS ? {
                        "fa-square": !0
                    } : t.ibusistatus == e.bizStatus.CHECKGOING ? {
                        "fa-square-o": !0
                    } : {
                        "fa-square-o": !0,
                        "fa-red": !0
                    } : "0002" == t.dynamictype_code ? {
                        "fa-circle": !0
                    } : void 0
                },
                showDynamicDetails: function () {
                    YC.Window.openWindow("page/MyDynamicList.html", {})
                },
                onDynamicClick: function (t) {
                    if ("0002" == t.dynamictype_code) return void YC.Window.openWindow(t.vpath, {
                        title: t.vtitle
                    });
                    var e = YC.Utils.canAccessToNcFunc(t.nodecode);
                    if (e) {
                        var i = {
                            defaultShowComponent: "card",
                            billId: t.billid,
                            mbFunCode: e.code
                        };
                        YC.Window.openWindow(e.location, {}, function () {
                        }, i)
                    } else {
                        var a = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                            n = JSON.parse(a),
                            i = {
                                todoSource: "BILL",
                                todoId: t.billid + "-" + t.vsourcesystem,
                                billtype: t.pk_billtype,
                                cuserid: t.voperatorid,
                                corp: t.pk_corp || n.pkCorp
                            };
                        YC.Window.openWindow("apps/com.uftobacco.todo/bill_index.html", {
                            title: "单据详情"
                        }, null, i)
                    }
                }
            }
        });
        Vue.component("yytm-index-short-menu", {
            template: '<div class="home-item"  >\t<div class="home-item-row">\t\t<div v-if="appCodeMap[\'MDHZ02\']" class="home-item-cell" @click="workFlowTodoClicked($event)">\t\t\t<div class="home-item-cell-t"><div class="home-item-img"><img :src="appsMap.MDHZ02.vicon_url"/>\t\t\t\t<span class="badge" v-show="isShowTodoNum">{{todoNum}}</span></div>\t\t\t</div>\t\t\t<div class="home-item-cell-b">{{appsMap.MDHZ02.vapp_name}}</div>\t\t</div>\t\t<div v-if="appCodeMap[\'MDHZA1\']" class="home-item-cell" @click="businessTodoClicked($event)">\t\t\t<div class="home-item-cell-t"><div class="home-item-img"><img :src="appsMap.MDHZA1.vicon_url"/>\t\t\t\t<span class="badge" v-show="todoBusiNum>0">{{todoBusiNum}}</span></div>\t\t\t</div>\t\t\t<div class="home-item-cell-b" >{{appsMap.MDHZA1.vapp_name}}</div>    \t\t<div class="yyt-progress-inner" v-show="appsMap.MDHZA1.needLoading">\t\t\t\t<div class="yyt-progress-bg" style="width: 0%;" :ref="appsMap.MDHZA1.pk_appregister"></div>\t\t\t</div>\t\t</div>\t\t<div v-if="appCodeMap[\'MDHZA2\']" class="home-item-cell" @click="myBillClicked($event)">\t\t\t<div class="home-item-cell-t"><div class="home-item-img"><img :src="appsMap.MDHZA2.vicon_url"/>\t\t\t\t<span class="badge" v-show="myBillNum>0">{{myBillNum}}</span></div>\t\t\t</div>\t\t\t<div class="home-item-cell-b">{{appsMap.MDHZA2.vapp_name}}</div>\t\t</div>\t\t<div v-if="appCodeMap[\'MDHZA3\']" class="home-item-cell" @click="signInClicked($event)">\t\t\t<div class="home-item-cell-t"><div class="home-item-img"><img :src="appsMap.MDHZA3.vicon_url"/></div></div>\t\t\t<div class="home-item-cell-b">{{appsMap.MDHZA3.vapp_name}}</div>\t\t</div>\t\t<div v-if="appCodeMap[\'MDHZA4\']" class="home-item-cell" @click="walletClicked($event)">\t\t\t<div class="home-item-cell-t"><div class="home-item-img"><img :src="appsMap.MDHZA4.vicon_url"/>\t\t\t\t<span class="badge" v-show="toBXInvoiceNum>0">{{toBXInvoiceNum}}</span></div>\t\t\t</div>\t\t\t<div class="home-item-cell-b">{{appsMap.MDHZA4.vapp_name}}</div>    \t\t<div class="yyt-progress-inner" v-show="appsMap.MDHZA4.needLoading">\t\t\t\t<div class="yyt-progress-bg" style="width: 0%;" :ref="appsMap.MDHZA4.pk_appregister"></div>\t\t\t</div>\t\t</div>\t</div></div>',
            data: function () {
                return {
                    todoNum: 0,
                    isShowTodoNum: !1,
                    myBillNum: 0,
                    todoBusiNum: 0,
                    toBXInvoiceNum: 0,
                    apps: null,
                    appCodeMap: {
                        MDHZ02: !1,
                        MDHZA1: !1,
                        MDHZA2: !1,
                        MDHZA3: !1,
                        MDHZA4: !1
                    },
                    appsMap: {
                        MDHZ02: {},
                        MDHZA1: {},
                        MDHZA2: {},
                        MDHZA3: {},
                        MDHZA4: {}
                    }
                }
            },
            created: function () {
                var t = this;
                if (YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS)) var e = JSON.parse(YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_APPS));
                t.refreshShortFunc(e)
            },
            methods: {
                yytmIndexUpdate: function () {
                    this.updateShortFunc()
                },
                updateMyBillNum: function () {
                    var t = this,
                        e = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                        i = JSON.parse(e),
                        a = {
                            pagesize: 10,
                            offset: 0,
                            userid: i.cuserid,
                            pk_corp: i.pk_corp,
                            billdealstatus: 0
                        },
                        n = {
                            adapter: "WebncAdapter",
                            procedure: "getMyBillList",
                            parameters: [a]
                        };
                    YC.Client.invokeProcedureNeedUser(n, function (e) {
                        var i = e.invocationResult.totalCount;
                        t.$set(t.$data, "myBillNum", i)
                    }, function (t) {
                    })
                },
                updateTodoNum: function () {
                    var t = this,
                        e = YC.LocalStorage.getValue(YC.AppProperty.UFT_APPLICATION_PARAM),
                        i = JSON.parse(e);
                    if (i && "Y" == i.isShowTodoNum) {
                        var a = {
                                adapter: "GetWorkFlowAdapter",
                                procedure: "getTodoNumByUserCode",
                                parameters: []
                            },
                            n = function (e) {
                                var i = e.invocationResult.count;
                                t.todoNum = i, t.isShowTodoNum = !(!i || "0" == i)
                            },
                            o = function (t) {
                                YC.Logger.log(JSON.stringify(t))
                            };
                        YC.Client.invokeProcedureNeedUser(a, n, o)
                    }
                },
                updateShortFunc: function () {
                    var t = this;
                    YC.Utils.asyncGetAllApps(function (e) {
                        t.apps, t.refreshShortFunc(e)
                    })
                },
                refreshShortFunc: function (t) {
                    var e = this;
                    for (var i in e.appCodeMap) e.$set(e.appCodeMap, i, !1);
                    for (var a = 0; a < t.length; a++) {
                        var n = t[a];
                        "MDHZ02" == n.fun_code ? (e.appCodeMap["MDHZ02"] = !0, e.appsMap["MDHZ02"] = n, e.updateTodoNum()) : "MDHZA1" == n.fun_code ? (e.appCodeMap["MDHZA1"] = !0, e.appsMap["MDHZA1"] = n, e.updateTodoBusiNum()) : "MDHZA2" == n.fun_code ? (e.appCodeMap["MDHZA2"] = !0, e.appsMap["MDHZA2"] = n, e.updateMyBillNum()) : "MDHZA3" == n.fun_code ? (e.appCodeMap["MDHZA3"] = !0, e.appsMap["MDHZA3"] = n) : "MDHZA4" == n.fun_code && (e.appCodeMap["MDHZA4"] = !0, e.appsMap["MDHZA4"] = n, e.updateToBXInvoiceNum())
                    }
                },
                updateTodoBusiNum: function () {
                    var t = this,
                        e = function (e) {
                            var i = e.invocationResult.totalCount;
                            t.$set(t.$data, "todoBusiNum", i)
                        };
                    YC.Utils.invokeBusinessProcedure("/webbd-webapp/todobusi/queryTodoBusiMsgs.mjson", {}, e, function (t) {
                    })
                },
                updateToBXInvoiceNum: function () {
                    var t = this,
                        e = function (e) {
                            var i = e.invocationResult.data;
                            t.$set(t.$data, "toBXInvoiceNum", i)
                        };
                    YC.Utils.invokeBusinessProcedure("/qybx-webapp/YXMOBILE/YXHA0866/getToBXInvoiceCount.mjson", {}, e, function (t) {
                    }, "BXBusinessAdapter")
                },
                workFlowTodoClicked: function (t) {
                    var e = this;
                    YC.Utils.clickAppItem(e.appsMap["MDHZ02"], function () {
                        YC.Utils.isAndroid() && e.yytmIndexUpdate()
                    }, function (t) {
                    })
                },
                businessTodoClicked: function (t) {
                    var e = this,
                        i = e.appsMap["MDHZA1"];
                    YC.Utils.clickAppItem(i, function () {
                        YC.Utils.isAndroid() && e.yytmIndexUpdate()
                    }, function (t) {
                        e.$refs[i.pk_appregister].style.width = t.loaded / t.total * 100 + "%", t.loaded == t.total ? setTimeout(function () {
                            e.$set(i, "needLoading", !1)
                        }, 300) : e.$set(i, "needLoading", !0)
                    })
                },
                myBillClicked: function (t) {
                    var e = this;
                    YC.Utils.clickAppItem(e.appsMap["MDHZA2"], function () {
                        YC.Utils.isAndroid() && e.yytmIndexUpdate()
                    }, function (t) {
                    })
                },
                signInClicked: function () {
                    YC.Utils.clickAppItem(this.appsMap["MDHZA2"], null, function (t) {
                    })
                },
                walletClicked: function () {
                    var t = this,
                        e = YC.Utils.canAccessToFunc("MDHZ5410HA04"),
                        i = this.appsMap["MDHZA4"];
                    e ? YC.Utils.clickAppItem(i, function () {
                        YC.Utils.isAndroid() && t.yytmIndexUpdate()
                    }, function (e) {
                        t.$refs[i.pk_appregister].style.width = e.loaded / e.total * 100 + "%", e.loaded == e.total ? setTimeout(function () {
                            t.$set(i, "needLoading", !1)
                        }, 300) : t.$set(i, "needLoading", !0)
                    }) : this.$toast({
                        message: "全力开发中，敬请期待！",
                        iconClass: "mintui mintui-success",
                        duration: 1e3
                    })
                }
            }
        });
        var s = '<yytm-common-apps :commonApps="commonApps" :moduleCode="moduleCode" :isLoading="isLoading" title="功能" @on-common-item-click="onCommonItemClick" @before-common-item-click="beforeCommonItemClick"></yytm-common-apps>';
        Vue.component("yytm-workbench-common-apps", {
            template: s,
            props: {
                moduleCode: {
                    type: String,
                    default: ""
                }
            },
            data: function () {
                return {
                    commonApps: [],
                    isLoading: !1
                }
            },
            created: function () {
                var t = this;
                YC.Utils.checkNetworkInfo(function () {
                    t.getCommonAndAllApps()
                }, function () {
                    var e = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_COMMON_APPS + "_" + moduleCode);
                    e && (e = JSON.parse(e), t.commonApps.push(e))
                })
            },
            methods: {
                getCommonAndAllApps: function () {
                    var t = this,
                        e = YC.Utils.isMobile() ? "phone" : YC.AppProperty.UFT_CONSTANTS_PREVIEW,
                        i = this.moduleCode,
                        a = {
                            adapter: "WebncAdapter",
                            procedure: "getAppsRegister",
                            method: "get",
                            parameters: [e, i]
                        },
                        n = function (e) {
                            for (var a = e.invocationResult.commonApps, n = 0; n < a.length; n++) {
                                var o = a[n],
                                    s = (o.location, window.location.href);
                                o["picPath"] = o["picPath"] || s.replace("index.html", "icon/funcode/" + o.code + ".png"), o["choose"] = !0, t.commonApps.push(o)
                            }
                            YC.LocalStorage.setValue(YC.AppProperty.UFT_USER_COMMON_APPS + "_" + i, JSON.stringify(t.commonApps));
                            var r = YC.Utils.getSubFuncsByModule(t.moduleCode),
                                l = [],
                                d = function (t) {
                                    for (var e = 0; e < t.length; e++) {
                                        var i = t[e],
                                            a = window.location.href;
                                        i["picPath"] = i["picPath"] || a.replace("index.html", "icon/funcode/" + i.code + ".png"), i.children && i.children.length > 0 ? d(i.children) : l.push(i)
                                    }
                                };
                            d(r), YC.LocalStorage.setValue(YC.AppProperty.UFT_USER_APPS + "_" + i, JSON.stringify(l)), t.isLoading = !1
                        };
                    YC.Client.invokeProcedureNeedUser(a, n)
                },
                onCommonItemClick: function (t) {
                    this.$emit("on-common-item-click", t)
                },
                beforeCommonItemClick: function (t) {
                    this.$emit("before-common-item-click", t)
                }
            }
        });
        Vue.yytmImageComponentConfig = {
            template: "\t<ul :pk='id' @click.stop=''>\t\t<li v-for='photo in photos'>\t\t\t<img v-lazy='photo.src' :msrc='photo.msrc' :data-size='photo.dataSize'>\t\t</li>\t</ul>",
            props: {
                id: {},
                images: {
                    type: Array,
                    default: function () {
                        return []
                    }
                }
            },
            data: function () {
                return {
                    photos: []
                }
            },
            created: function () {
                var t = this,
                    e = window.location.href;
                e = e.substring(0, e.indexOf(YC.StaticAppProps.SKIN) + YC.StaticAppProps.SKIN.length), t.$Lazyload.options.error = e + "/images/lazy.png", t.$Lazyload.options.loading = e + "/images/lazy.png", $(".pswp[role='dialog']")[0] || $("body").append(t.getPhotoSwipeDomHtml()), t.initImagesData()
            },
            mounted: function () {
                var t = this;
                t.initPhotoSwipe("ul[pk='" + t.$props.id + "']")
            },
            methods: {
                initImagesData: function () {
                    for (var t = this, e = [], i = 0; i < t.$props.images.length; i++) {
                        var a = t.$props.images[i],
                            n = a.msrc ? a.msrc : a.src,
                            o = {
                                src: a.src,
                                msrc: n,
                                dataSize: "400x400"
                            };
                        t.setImageSize(o), e.push(o)
                    }
                    t.$set(t.$data, "photos", e)
                },
                setImageSize: function (t) {
                    var e = this,
                        i = new Image;
                    i.src = t.msrc, i.onload = function () {
                        i.width <= 100 ? e.$set(t, "dataSize", 10 * i.width + "x" + 10 * i.height) : e.$set(t, "dataSize", i.width + "x" + i.height)
                    }
                },
                initPhotoSwipe: function (t) {
                    for (var e, i = this, a = null, n = YC.Navigation.getHeaderConfig(), o = function (t) {
                        for (var e, i, a, n = t.childNodes, o = n.length, s = [], r = 0; r < o; r++) e = n[r], 1 === e.nodeType && (srcEl = e.children[0], i = srcEl.getAttribute("data-size").split("x"), a = {
                            src: srcEl.getAttribute("msrc"),
                            w: parseInt(i[0], 10),
                            h: parseInt(i[1], 10),
                            msrc: srcEl.getAttribute("src")
                        }, a.el = e, s.push(a));
                        return s
                    }, s = function t(e, i) {
                        return e && (i(e) ? e : t(e.parentNode, i))
                    }, r = function (t) {
                        t = t || window.event, t.preventDefault();
                        var e = t.target || t.srcElement,
                            i = s(e, function (t) {
                                return t.tagName && "LI" === t.tagName.toUpperCase()
                            });
                        if (i) {
                            for (var a, n = i.parentNode, o = i.parentNode.childNodes, r = o.length, d = 0, c = 0; c < r; c++)
                                if (1 === o[c].nodeType) {
                                    if (o[c] === i) {
                                        a = d;
                                        break
                                    }
                                    d++
                                }
                            return a >= 0 && l(a, n), !1
                        }
                    }, l = function (t, s, r, l) {
                        i.$addPopupClass(), n.leftConfig && n.leftConfig.onSuccess ? (e = n.leftConfig.onSuccess, n.leftConfig.onSuccess = function () {
                            a.close(), n.leftConfig.onSuccess = e
                        }) : n.leftConfig || (n.leftConfig = {
                            icon: "icon_back",
                            text: "返回",
                            onSuccess: function () {
                                a.close(), n.leftConfig.onSuccess = function () {
                                    YC.Window.closeWindow()
                                }
                            }
                        }), YC.Utils.isMobile() && YC.Navigation.setHeaderConfig(n);
                        var d, c, u = document.querySelectorAll(".pswp")[0];
                        c = o(s);
                        var d = {
                            history: !1,
                            focus: !1,
                            showAnimationDuration: 0,
                            hideAnimationDuration: 0
                        };
                        if (d.mainClass = "pswp--minimal--dark", d.barsSize = {
                            top: 0,
                            bottom: 0
                        }, d.captionEl = !1, d.fullscreenEl = !1, d.shareEl = !1, d.bgOpacity = .85, d.tapToClose = !0, d.tapToToggleControls = !1, l)
                            if (d.galleryPIDs) {
                                for (var p = 0; p < c.length; p++)
                                    if (c[p].pid == t) {
                                        d.index = p;
                                        break
                                    }
                            } else d.index = parseInt(t, 10) - 1;
                        else d.index = parseInt(t, 10);
                        isNaN(d.index) || (r && (d.showAnimationDuration = 0), a = new PhotoSwipe(u, PhotoSwipeUI_Default, c, d), a.init(), a.listen("close", function () {
                            YC.Utils.isMobile() && (YC.Utils.isEmpty(n.leftConfig) || (n.leftConfig.onSuccess = e), YC.Navigation.setHeaderConfig(n), i.$removePopupClass())
                        }))
                    }, d = document.querySelectorAll(t), c = 0, u = d.length; c < u; c++) d[c].setAttribute("data-pswp-uid", c + 1), d[c].onclick = r;
                    var p = function () {
                        var t = window.location.hash.substring(1),
                            e = {};
                        if (t.length < 5) return e;
                        for (var i = t.split("&"), a = 0; a < i.length; a++)
                            if (i[a]) {
                                var n = i[a].split("=");
                                n.length < 2 || (e[n[0]] = n[1])
                            }
                        return e.gid && (e.gid = parseInt(e.gid, 10)), e
                    }();
                    p.pid && p.gid && l(p.pid, d[p.gid - 1], !0, !0)
                },
                getPhotoSwipeDomHtml: function () {
                    return "<div class='pswp' tabindex='-1' role='dialog' aria-hidden='true'>\t\t\t<div class='pswp__bg'></div>\t\t\t<div class='pswp__scroll-wrap'>\t\t\t\t<div class='pswp__container'>\t\t\t\t\t\x3c!-- 不能修改这三个标签 --\x3e\t\t\t\t\t<div class='pswp__item'></div>\t\t\t\t\t<div class='pswp__item'></div>\t\t\t\t\t<div class='pswp__item'></div>\t\t\t\t</div>\t\t\t\t<div class='pswp__ui pswp__ui--hidden'>\t\t\t\t\t<div class='pswp__top-bar'>\t\t\t\t\t\t<div class='pswp__counter'></div>\t\t\t\t\t\t<div class='pswp__preloader'>\t\t\t\t\t\t\t<div class='pswp__preloader__icn'>\t\t\t\t\t\t\t\t<div class='pswp__preloader__cut'>\t\t\t\t\t\t\t\t\t<div class='pswp__preloader__donut'></div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>\t\t\t\t\t</div>\t\t\t\t\t<div class='pswp__share-modal pswp__share-modal--hidden pswp__single-tap'>\t\t\t\t\t\t<div class='pswp__share-tooltip'></div>\t\t\t\t\t</div>\t\t\t\t</div>\t\t\t</div>\t\t</div>"
                }
            },
            watch: {
                images: function (t, e) {
                    this.initImagesData()
                }
            }
        }, Vue.component("yytm-image", Vue.yytmImageComponentConfig);
        Vue.yytmCollapsePanelComponentConfig = {
            template: '\t<div class="collapse-item">\t\t<slot name="default" v-if="$slots.default">\t\t\t<div class="collapse-item-header" @click.native="onHeaderClick">{{title}}</div>\t\t\t<div class="collapse-item-content">\t\t\t\t<span>暂未定义内容</span>\t\t\t</div>\t\t</slot>\t\t<div class="collapse-item-header" @click="onHeaderClick">\t\t\t<i :class="getFolderIcon()"></i>\t\t\t<slot name="header" >\t\t\t\t<span>暂未定义头部内容</span>\t\t\t</slot>\t\t</div>\t\t<slot name="content" v-if="!isFolded">\t\t\t<div class="collapse-item-content">\t\t\t\t<span>暂未定义内容</span>\t\t\t</div>\t\t</slot>\t</div>',
            props: {
                name: {
                    type: String
                },
                isFolded: {
                    type: Boolean,
                    default: !1
                },
                title: {
                    type: String
                }
            },
            data: function () {
                return {
                    id: this.name
                }
            },
            methods: {
                onHeaderClick: function () {
                    var t = this;
                    t.isFolded = !t.isFolded, t.$emit("on-header-click", {
                        name: t.id,
                        title: t.title
                    })
                },
                getFolderIcon: function () {
                    return this.isFolded ? "fa fa-chevron-right" : "fa fa-chevron-down"
                }
            },
            mounted: function () {
            },
            created: function () {
            },
            watch: {}
        }, Vue.component("yytm-collapse-panel", Vue.yytmCollapsePanelComponentConfig);
        Vue.yytmCollapseComponentConfig = {
            template: '<div class="grid-collapse">\t<slot name="default"></slot></div>',
            props: [],
            data: function () {
                return {}
            },
            methods: {}
        }, Vue.component("yytm-collapse", Vue.yytmCollapseComponentConfig), Vue.component("yytm-load-more", {
            extends: MINT.Loadmore,
            methods: {
                handleTouchEnd: function (t) {
                    "down" === this.direction && 0 === this.getScrollTop(this.scrollEventTarget) && this.translate > 0 && (t.preventDefault(), t.stopPropagation(), this.topDropped = !0, "drop" === this.topStatus ? (this.translate = "50", this.topStatus = "loading", this.topMethod()) : (this.translate = "0", this.topStatus = "pull")), "up" === this.direction && this.bottomReached && this.translate < 0 && (t.preventDefault(), t.stopPropagation(), this.bottomDropped = !0, this.bottomReached = !1, "drop" === this.bottomStatus ? (this.translate = "-50", this.bottomStatus = "loading", this.bottomMethod()) : (this.translate = "0", this.bottomStatus = "pull")), this.$emit("translate-change", this.translate), this.direction = ""
                }
            }
        });
        Vue.yytmCommonListConfig = {
            template: '<div class="grid-list-box" :style="{ height: wrapperHeight + \'px\'}" ref="wrapper" :class="{\'grid-nomore\':isNoMoreDatas}"><yytm-load-more :bottom-all-loaded="bottomAllLoaded" :bottom-method="loadBottom" :auto-fill="autoFill"  :top-method="loadTop" ref="loadmore" @bottom-status-change="handleBottomChange" @translate-change="translateChange" @top-status-change="handleTopChange"><div class="no-card" v-if="isNoDatas"><p class="no-list-data"><img src="/ycmobileupdate/resources/default/images/no-list-data.png"></p><p class="no-list-msg"><span>暂无数据</span></p></div><div ref="listBlock"><slot name="list-content" :datas="datas" ></slot></div><div slot="bottom" class="mint-loadmore-bottom"><div class="tobacco-none" v-if="isNoMoreDatas" :style="noMoreStyle" ><span>没有更多数据哦~</span></div><span v-show="bottomStatus !== \'loading\'" :class="{ \'is-rotate\': bottomStatus === \'drop\' }"><i class="fa fa-arrow-up"></i></span><span v-show="bottomStatus === \'loading\'"><mt-spinner type="fading-circle" color="rgb(153, 153, 153)"></mt-spinner> 加载中...</span></div></yytm-load-more></div>',
            props: {
                datas: {},
                isNoDatas: {},
                isNoMoreDatas: {},
                bottomAllLoaded: {
                    type: Boolean,
                    default: function () {
                        return !1
                    }
                }
            },
            data: function () {
                return {
                    clientHeight: document.documentElement.clientHeight,
                    wrapperHeight: 0,
                    noneBlockHeight: 0,
                    autoFill: !1,
                    bottomStatus: "",
                    topStatus: "",
                    afterRefreshFiveSecond: !1
                }
            },
            created: function () {
            },
            methods: {
                loadTop: function () {
                    var t = this;
                    t.$emit("load-top"), Vue.nextTick(function () {
                        setTimeout(function () {
                            t.afterRefresh(), t.$refs.loadmore.onTopLoaded()
                        }, 500)
                    })
                },
                loadBottom: function () {
                    var t = this;
                    t.$emit("load-bottom"), Vue.nextTick(function () {
                        setTimeout(function () {
                            t.afterRefresh(), t.$refs.loadmore.onBottomLoaded()
                        }, 1500)
                    })
                },
                onBillClick: function (t) {
                    this.$emit("on-item-click", t)
                },
                handleBottomChange: function (t) {
                    this.bottomStatus = t
                },
                handleTopChange: function (t) {
                    this.moveTranslate = 1, this.topStatus = t
                },
                translateChange: function (t) {
                    const e = +t;
                    this.translate = e.toFixed(2), this.moveTranslate = (1 + e / 70).toFixed(2)
                },
                afterRefresh: function () {
                    var t = this;
                    t.$set(t.$data, "afterRefreshFiveSecond", !1), setTimeout(function () {
                        t.$set(t.$data, "afterRefreshFiveSecond", !0)
                    }, 2e3)
                },
                getNoMoreStyle: function (t) {
                    return t ? {
                        visibility: hidden
                    } : {
                        visibility: visible
                    }
                },
                calWrapperHeight: function () {
                    var t = this,
                        e = 0;
                    if (document.getElementsByClassName("tabbar-menu").length > 0 && (e = 60), t.$refs.wrapper && t.$set(t.$data, "wrapperHeight", t.$data.clientHeight - t.$refs.wrapper.getBoundingClientRect().top - e), t.$refs.noneBlock && t.$refs.listBlock.getBoundingClientRect().height < t.$data.wrapperHeight) {
                        var i = t.$data.wrapperHeight - t.$refs.listBlock.getBoundingClientRect().height - 80;
                        t.$set(t.$data, "noneBlockHeight", i > 0 ? i : 0)
                    } else t.$set(t.$data, "noneBlockHeight", 0)
                }
            },
            watch: {
                datas: function (t, e) {
                    var i = this;
                    i.afterRefresh(), Vue.nextTick(function () {
                        i.calWrapperHeight()
                    })
                }
            },
            computed: {
                noMoreStyle: function () {
                    return this.afterRefreshFiveSecond ? {
                        visibility: "hidden"
                    } : {
                        visibility: "visible"
                    }
                }
            }
        }, Vue.component("yytm-common-list", Vue.yytmCommonListConfig);
        Vue.yytmListComponentConfig = {
            template: '<div><div class="page-loadmore-wrapper has-footer" ref="wrapper" :style="{ height: wrapperHeight + \'px\' }"><yytm-load-more :bottom-method="loadBottom" :autoFill="false" @bottom-status-change="handleBottomChange" :bottom-all-loaded="allLoaded" ref="loadmore" :top-method="loadTop" @translate-change="translateChange" @top-status-change="handleTopChange" bottomPullText="上拉加载更多" ><slot name="list-content" :list="list" :template="template" ><ul class="list-block" ref="listBlock"><li v-for="(rowData,index) in list" v-on:click="listItemHandler(rowData.HEADER)"><div class="card yonyou-card" :class="_getCardStyle(rowData.HEADER)" ><div class="card-index">{{index+1}}</div><div class="card-header" v-if="template.HEAD"><div class="yonyou-code">{{getHeadItemData(0, rowData)}}</div><div class="yonyou-date">{{getHeadItemData(1, rowData)}}</div></div><div class="card-content "><div class="card-content-inner"><div class="card-inner"><div v-if="template.BODY"><div class="inner-item" v-for="bodyGroup in template.BODY.bodyGroups"><template v-for="cell in bodyGroup.bodyCellColumns" v-if="!cell.hidden"><p><label class="label-control" v-if="cell.showLabel">{{cell.label}}</label> <span v-html="getItemValue(cell.itemkey, rowData)"></span></p></template></div></div><div><template  v-if="template.FOOT"><div class="inner-item" v-for="bodyGroup in template.FOOT.bodyGroups"><template v-for="cell in bodyGroup.bodyCellColumns" v-if="!cell.hidden"><p><label class="label-control" v-if="cell.showLabel">{{cell.label}}</label> <span class="text-2x" :class="_getStatusStyle(cell.itemkey, rowData.HEADER)">{{getItemValue(cell.itemkey, rowData)}}</span></p></template></div></template><template  v-if="template.BUTTON"><div class="inner-item" v-for="bodyGroup in template.BUTTON.bodyGroups"><template v-for="cell in bodyGroup.bodyCellColumns" v-if="!cell.hidden"><button class="yy-btn-primary" @click.stop.prevent="buttonClick(cell,rowData)">{{cell.label}}</button></template></div></template></div></div></div></div></div></li></ul><div class="no-card" v-if="list.length==0 && hasLoadData"><p class="no-list-data"><img src="/ycmobileupdate/resources/default/images/no-list-data.png"></p><p class="no-list-msg"><span>暂无数据</span></p></div><div :style="{ height: noneBlockHeight + \'px\' }" ref="noneBlock"></div></slot><div slot="top" class="mint-loadmore-top"><span v-show="topStatus !== \'loading\'" :class="{ \'is-rotate\': topStatus === \'drop\' }" ><i class="fa fa-arrow-down"></i></span><span v-show="topStatus === \'loading\'""><mt-spinner type="fading-circle"></mt-spinner> 加载中...</span></div><div slot="bottom" class="mint-loadmore-bottom"><template v-if="isNoMoreData && list.length!=0"><div class="tobacco-none"><span>没有更多数据哦~</span></div></template><template v-if="list.length>0 && hasLoadData" ><span v-show="bottomStatus !== \'loading\'" :class="{ \'is-rotate\': bottomStatus === \'drop\' }"><i class="fa fa-arrow-up"></i></span><span v-show="bottomStatus === \'loading\'"><mt-spinner type="fading-circle"></mt-spinner> 加载中...</span></template></div></yytm-load-more></div><div class="mint-load-account"><div class="totalcount" v-if="tipContent!=\'\'" v-html="tipContent"></div></div></div>',
            props: {
                config: {
                    type: Object
                },
                yytmComponentHandler: {
                    type: Object,
                    default: function () {
                        return new YytmListHDL
                    }
                },
                condition: {
                    type: Object,
                    default: {}
                },
                updateBillId: {
                    Type: String,
                    default: ""
                }
            },
            data: function () {
                return {
                    list: [],
                    currentPage: 0,
                    startIndex: 0,
                    allLoaded: !1,
                    bottomStatus: "",
                    wrapperHeight: 0,
                    noneBlockHeight: 0,
                    topStatus: "",
                    template: {},
                    pubParams: null,
                    templateId: void 0,
                    tipContent: "",
                    hasLoadData: !1,
                    isNoMoreData: !1,
                    countInfo: {}
                }
            },
            methods: {
                loadTop: function () {
                    if (1 != this.isLoadingTop) {
                        this.isLoadingTop = !0;
                        var t = this;
                        t.startIndex = 0, t.$data.isNoMoreData = !1, this.loadData(), setTimeout(function () {
                            t.startIndex += t.pageSize, t.$refs.loadmore.onTopLoaded(), t.isLoadingTop = !1
                        }, 1500)
                    }
                },
                loadBottom: function () {
                    var t = this;
                    this.loadData(), setTimeout(function () {
                        t.startIndex += t.pageSize, t.$refs.loadmore.onBottomLoaded()
                    }, 1500)
                },
                getHeadItemData: function (t, e) {
                    var i = this.$data.template.HEAD;
                    if (i.bodyGroups && i.bodyGroups[t].bodyCellColumns && i.bodyGroups[t].bodyCellColumns[0]) {
                        var a = i.bodyGroups[t].bodyCellColumns[0].itemkey;
                        return e.HEADER[a]
                    }
                    return "-"
                },
                getItemValue: function (t, e) {
                    return e.HEADER[t]
                },
                listItemHandler: function (t) {
                    var e = {
                        rowData: t,
                        listData: this.$data
                    };
                    this.$props.yytmComponentHandler.onListItemClick(this, e), this.$emit("on-item-click", t)
                },
                requestData: function (t, e, i, a) {
                    var n = this.config.params;
                    if (this.config.queryNodeKey && (n.nodeKey = this.config.queryNodeKey), a)
                        for (var o in a) n[o] = a[o];
                    n.templateID = this.$data.templateId, n.PAGE_PARAM_START = t, n.PAGE_PARAM_LIMIT = this.pageSize, e || (e = !1), i || (i = !1), n.tabCode = "FOOT,HEAD,BODY", this.pubParams && (n.PUB_PARAMS = this.pubParams);
                    var s = {
                        dataUrl: this.config.dataUrl,
                        isLoadData: e,
                        templateUrl: "/webbd-webapp/component/getListComponentTemplate.mjson",
                        isLoadTemplate: i,
                        params: n
                    };
                    YC.Utils.getYytmComponentConfig(s, this.disposeRequestData)
                },
                loadTemplate: function (t) {
                    this.$props.yytmComponentHandler.loadListTemplate(this, t, this.disposeRequestData)
                },
                loadData: function (t) {
                    this.$props.yytmComponentHandler.loadListData(this, t, this.disposeRequestData)
                },
                loadSimpleData: function (t) {
                    var e = this,
                        i = this.config.params;
                    i.nodeKey || (i.nodeKey = "MOBILE_EDIT"), i["billId"] = t;
                    var a = {
                        dataUrl: this.config.dataUrl,
                        isLoadData: !0,
                        templateUrl: null,
                        isLoadTemplate: !1,
                        params: i
                    };
                    YC.Utils.getYytmComponentConfig(a, function (t) {
                        t.invocationResult.isSuccessful && e.updateSimpleData(t.invocationResult.data.datas[0])
                    })
                },
                updateSimpleData: function (t) {
                    var e = this;
                    if (!t) return this.deleteSimpleData(this.$props.updateBillId), this.$set(this.$data, "updateBillId", ""), void (void 0 !== e.$data.countInfo.totalRecords && e.$data.countInfo.totalRecords > 0 && (e.$data.countInfo.totalRecords--, e.$props.yytmComponentHandler.getBillListCountTip(e, e.$data.countInfo)));
                    for (var i = this.$props.config.billIdField, a = this._updateBillId, n = 0; n < this.$data.list.length; n++) {
                        if (this.$data.list[n].HEADER[i] == a) return void this.$set(this.$data.list, n, t)
                    }
                    var o = [t];
                    o = o.concat(this.$data.list), this.$set(this.$data, "list", o), void 0 !== e.$data.countInfo.totalRecords && (e.$data.countInfo.totalRecords++, e.$props.yytmComponentHandler.getBillListCountTip(e, e.$data.countInfo))
                },
                deleteSimpleData: function (t) {
                    for (var e = this.$props.config.billIdField, i = t, a = 0; a < this.$data.list.length; a++) {
                        if (this.$data.list[a].HEADER[e] == i) return this.$data.list.splice(a, 1), void this.$set(this.$data, "updateBillId", "")
                    }
                },
                disposeRequestData: function (t) {
                    if (t.invocationResult.isSuccessful) {
                        var e;
                        t.invocationResult.template && (e = t.invocationResult.template.billTemplet, this.templateId = t.invocationResult.template.templateID);
                        var i;
                        t.invocationResult.data && (i = t.invocationResult.data.datas), e && this.disposeTemplate(e), i && (this.disposeData(i), this.$set(this.$data, "hasLoadData", !0)), this.$refs.wrapper && this.$set(this.$data, "wrapperHeight", document.documentElement.clientHeight - this.$refs.wrapper.getBoundingClientRect().top);
                        var a = this;
                        Vue.nextTick(function () {
                            a.$refs.noneBlock && a.$refs.listBlock.getBoundingClientRect().height < a.$data.wrapperHeight ? a.$set(a.$data, "noneBlockHeight", a.$data.wrapperHeight - a.$refs.listBlock.getBoundingClientRect().height - 90) : a.$set(a.$data, "noneBlockHeight", 0)
                        }), t.invocationResult.data && t.invocationResult.data.append && (a.$props.yytmComponentHandler.getBillListCountTip(a, t.invocationResult.data.append), a.$data.countInfo = t.invocationResult.data.append)
                    }
                    this.$indicator.close()
                },
                disposeTemplate: function (t) {
                    if (t) {
                        var e = {};
                        for (var i in t.bodyColumns) {
                            var a = t.bodyColumns[i];
                            "HEAD" == a.key ? e.HEAD = a : "BODY" == a.key ? e.BODY = a : "FOOT" == a.key ? e.FOOT = a : "BUTTON" == a.key && (e.BUTTON = a)
                        }
                        this.$set(this.$data, "template", e)
                    }
                },
                disposeData: function (t) {
                    if (1 != this.$data.isNoMoreData) {
                        if (this.$data.list.length > 0 && 0 != this.startIndex) {
                            var e = this.$data.list.concat(t);
                            this.$set(this.$data, "list", e)
                        } else this.$set(this.$data, "list", t), this.$set(this.$data, "isNoMoreData", !1);
                        t && t.length == this.pageSize || this.$set(this.$data, "isNoMoreData", !0)
                    }
                },
                buttonClick: function (t, e) {
                    var i = {
                        buttonTemplate: t,
                        rowData: e
                    };
                    this.$props.yytmComponentHandler.onButtonClick(this, i)
                },
                handleBottomChange: function (t) {
                    this.bottomStatus = t
                },
                handleTopChange: function (t) {
                    this.moveTranslate = 1, this.topStatus = t
                },
                translateChange: function (t) {
                    const e = +t;
                    this.translate = e.toFixed(2), this.moveTranslate = (1 + e / 70).toFixed(2)
                },
                _getCardStyle: function (t) {
                    return null != t.vbillstatus || void 0 != t.vbillstatus ? t.vbillstatus == this.bizStatusName.FREE ? {
                        "card-primary": !0
                    } : t.vbillstatus == this.bizStatusName.CHECKGOING ? {
                        "card-warning": !0
                    } : t.vbillstatus == this.bizStatusName.CHECKPASS ? {
                        "card-success": !0
                    } : t.vbillstatus == this.bizStatusName.NOPASS ? {
                        "card-danger": !0
                    } : {
                        "card-primary": !0
                    } : {
                        "card-warning": !0
                    }
                },
                _getStatusStyle: function (t, e) {
                    return "vbillstatus" == t && null != e.vbillstatus || void 0 != e.vbillstatus ? e.vbillstatus == this.bizStatusName.FREE ? {
                        "color-primary": !0
                    } : e.vbillstatus == this.bizStatusName.CHECKGOING ? {
                        "color-warning": !0
                    } : e.vbillstatus == this.bizStatusName.CHECKPASS ? {
                        "color-success": !0
                    } : e.vbillstatus == this.bizStatusName.NOPASS ? {
                        "color-danger": !0
                    } : {
                        "color-primary": !0
                    } : {
                        "color-warning": !0
                    }
                }
            },
            beforeCreate: function () {
            },
            created: function () {
                this.currentPage = 0, this.startIndex = 0, this.pageSize = this.config.pageSize, this.loadTemplate(), this.$data.isNoMoreData = !1, this.loadData()
            },
            mounted: function () {
            },
            watch: {
                condition: function (t, e) {
                    var i = this;
                    i.currentPage = 0, i.startIndex = 0, i.searchParams = t, i.$data.isNoMoreData = !1, i.loadData()
                },
                updateBillId: function (t, e) {
                    (t = t.split("@")[0]) && "" != t && (this._updateBillId = t, this.loadSimpleData(t))
                }
            }
        };
        Vue.component("yytm-list", Vue.yytmListComponentConfig);
        Vue.yytmDivBillListComponentConfig = {
            template: '<div class="grid-list-wrap"><div class="grid-list-box"><div><div class="grid-title"><div class="grid-title-l"><i class="fa fa-angle-down" v-show="false"></i><i class="fa fa-angle-up"></i> 客户反馈平台</div><div class="grid-title-r"><span>10</span>条</div></div><div class="list-box"><div class="list-c"><div class="list-r-cell-x">加班申请单</div><div class="list-r-cell">yxm318923791847</div><div class="list-r-cell">2017年12月12号到就打开啦额家里的咯额节</div></div><div class="list-r"><div class="list-r-cell-x today">今天</div><div class="list-r-cell"></div><div class="list-r-cell"><button class="list-btn info">审批中</button></div></div></div></div></div></div>',
            data: function () {
                return {}
            }
        }, yytm_navbar_template = '<div class="tab-wrap" v-if="navItems.length>0"><template v-for="(item,index) in navItems" ><div :class="{\'tab-link-btn\' : true, \'active\' : index==activeIndex}" v-tap="{ methods:onItemClick,item:item,index:index}"><p>{{item.title}} <span v-if="item.count!=undefined && item.isShowCount">({{item.count}})</span></p></div></template></div>', Vue.yytmNavbarComponentConfig = {
            template: yytm_navbar_template,
            props: {
                navItems: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                defaultIndex: {
                    type: Number,
                    default: function () {
                        return 0
                    }
                }
            },
            data: function () {
                return {
                    activeIndex: this.defaultIndex
                }
            },
            created: function () {
            },
            methods: {
                onItemClick: function (t) {
                    var e = this;
                    e.$set(e.$data, "activeIndex", t.index), e.$emit("on-navbar-changed", t.item, t.index)
                }
            }
        }, Vue.component("yytm-navbar", Vue.yytmNavbarComponentConfig), Date.prototype.format = function (t) {
            var e = {
                "M+": this.getMonth() + 1,
                "d+": this.getDate(),
                "h+": this.getHours(),
                "m+": this.getMinutes(),
                "s+": this.getSeconds(),
                "q+": Math.floor((this.getMonth() + 3) / 3),
                S: this.getMilliseconds()
            };
            /(y+)/.test(t) && (t = t.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)));
            for (var i in e) new RegExp("(" + i + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[i] : ("00" + e[i]).substr(("" + e[i]).length)));
            return t
        };
        Vue.component("yytm-qybx-date-picker", {
            template: '<mt-picker :slots="dateSlots"  :itemHeight="55" @change="onDateChange" ref="picker" show-toolbar><span class="mint-datetime-action " @click="$emit(\'cancel\')">取消</span><span class="mint-datetime-action " @click="$emit(\'confirm\',pickerValue)">确认</span></mt-picker>',
            props: ["visible", "minDate", "maxDate", "format", "leftDefaultDate", "rightDefaultDate"],
            data: function () {
                return {
                    slot1: [],
                    slot2: [],
                    dateSlots: [],
                    pickerValue: [],
                    leftDefaultInx: 0,
                    rightDefaultInx: 0
                }
            },
            created: function () {
                this.format || (this.format = "yyyy-MM"), this.initDateSlots()
            },
            methods: {
                initDateSlots: function () {
                    var t = this,
                        e = [];
                    if (/(y+)/.test(t.format) && /(M+)/.test(t.format) && !/(d+)/.test(t.format))
                        for (var i = new Date(t.formatDate(t.minDate)), a = new Date(t.formatDate(t.maxDate)), n = i.getFullYear(), o = i.getMonth() + 1, s = a.getFullYear(), r = a.getMonth() + 1, l = n; l <= s; l++) {
                            var d = 1,
                                c = 12;
                            l == n && (d = o), l == s && (c = r);
                            for (var u = d; u <= c; u++) e.push(new Date(t.formatDate(l + "-" + u)).format(this.format))
                        } else /(y+)/.test(t.format) && !/(M+)/.test(t.format) && /(d+)/.test(t.format);
                    t.slot1 = e, t.slot2 = e, t.setDeaultDateIndex(e), t.dateSlots = [{
                        flex: 1,
                        values: t.slot1,
                        className: "slot1",
                        textAlign: "right",
                        defaultIndex: t.leftDefaultInx
                    }, {
                        divider: !0,
                        content: "-",
                        className: "slot2"
                    }, {
                        flex: 1,
                        values: t.slot2,
                        className: "slot3",
                        textAlign: "left",
                        defaultIndex: t.rightDefaultInx
                    }]
                },
                setDeaultDateIndex: function (t) {
                    var e = this;
                    if (e.leftDefaultDate)
                        for (var i = 0; i < t.length; i++) t[i] == e.leftDefaultDate && (e.leftDefaultInx = i);
                    if (e.leftDefaultDate)
                        for (var i = 0; i < t.length; i++) t[i] == e.rightDefaultDate && (e.rightDefaultInx = i)
                },
                onDateChange: function (t, e) {
                    var i = this;
                    void 0 == e[0] && (e[0] = t.slots[0].values[i.leftDefaultInx]), void 0 == e[1] && (e[1] = t.slots[2].values[i.rightDefaultInx]), this.pickerValue = [new Date(e[0]), new Date(e[1])]
                },
                formatDate: function (t) {
                    var e = t.split("-");
                    return e[1].length < 2 && (e[1] = "0" + e[1]), e[0] + "-" + e[1]
                }
            }
        });
        Vue.component("yytm-list2", {
            extends: Vue.yytmListComponentConfig,
            template: '<div class="page-loadmore-wrapper" ref="wrapper" :style="{ height: wrapperHeight + \'px\' }"><mt-loadmore :bottom-method="loadBottom" :autoFill="false" @bottom-status-change="handleBottomChange" :bottom-all-loaded="allLoaded" ref="loadmore" :top-method="loadTop" @translate-change="translateChange" @top-status-change="handleTopChange"><slot name="list-content" :list="list"><ul class="list-block"><li v-for="rowData in list" v-on:click="listItemHandler(rowData.HEADER)"><div class="card yonyou-card card-warning"><div class="card-header" v-if="template.HEAD"><div class="yonyou-code">{{getHeadItemData(0, rowData)}}</div><div class="yonyou-date">{{getHeadItemData(1, rowData)}}</div></div><div class="card-content "><div class="card-content-inner"><div class="card-inner"><div v-if="template.BODY"><div class="inner-item" v-for="bodyGroup in template.BODY.bodyGroups"><template v-for="cell in bodyGroup.bodyCellColumns" v-if="!cell.hidden"><p><label class="label-control" v-if="cell.showLabel">{{cell.label}}{{cell.showLabel?"*":"!"}}</label> <span>{{getItemValue(cell.itemkey, rowData)}}</span></p></template></div></div><div><template  v-if="template.FOOT"><div class="inner-item" v-for="bodyGroup in template.FOOT.bodyGroups"><template v-for="cell in bodyGroup.bodyCellColumns" v-if="!cell.hidden"><p><label class="label-control" v-if="cell.showLabel">{{cell.label}}</label> <span class="color-warning text-2x">{{getItemValue(cell.itemkey, rowData)}}</span></p></template></div></template></div></div></div></div></div></li></ul></slot><div slot="top" class="mint-loadmore-top"><span v-show="topStatus !== \'loading\'" :class="{ \'is-rotate\': topStatus === \'drop\' }" >松开立即刷新</span><span v-show="topStatus === \'loading\'"><mt-spinner type="fading-circle" style=" margin-right: .5rem;"></mt-spinner>正在刷新数据中...</span></div><div slot="bottom" class="mint-loadmore-bottom"><span v-show="bottomStatus !== \'loading\'" :class="{ \'is-rotate\': bottomStatus === \'drop\' }">上拉加载数据</span><span v-show="bottomStatus === \'loading\'"><mt-spinner type="fading-circle" style=" margin-right: .5rem;"></mt-spinner></span></div></mt-loadmore></div>',
            methods: {
                getHeadItemData: function (t, e) {
                    var i = this.$data.template.HEAD;
                    if (i.bodyGroups && i.bodyGroups[t].bodyCellColumns && i.bodyGroups[t].bodyCellColumns[0]) {
                        var a = i.bodyGroups[t].bodyCellColumns[0].itemkey;
                        return e.HEADER[a]
                    }
                    return "-"
                },
                getBodyItemData: function () {
                },
                disposeData: function (t) {
                    if (t.invocationResult.isSuccessful) {
                        var e;
                        t.invocationResult.template && (e = t.invocationResult.template.billTemplet, this.templateId = t.invocationResult.template.templateID);
                        var i;
                        if (t.invocationResult.data && (i = t.invocationResult.data.datas), e && this.disposeTemplate(e), i)
                            if (this.$data.list.length > 0 && 0 != this.startIndex) {
                                var a = this.$data.list.concat(i);
                                this.$set(this.$data, "list", a)
                            } else this.$set(this.$data, "list", i);
                        this.$refs.wrapper && this.$set(this.$data, "wrapperHeight", document.documentElement.clientHeight - this.$refs.wrapper.getBoundingClientRect().top)
                    }
                },
                disposeTemplate: function (t) {
                    var e = {};
                    for (var i in t.bodyColumns) {
                        var a = t.bodyColumns[i];
                        "HEAD" == a.key ? e.HEAD = a : "BODY" == a.key ? e.BODY = a : "FOOT" == a.key && (e.FOOT = a)
                    }
                    this.$set(this.$data, "template", e)
                }
            }
        }), Vue.component("yytm-popup", {
            extends: MINT.Popup,
            watch: {
                currentValue: function (t, e) {
                    t ? (this.constants.popupCount++, this.$addPopupClass()) : this.$removePopupClass(), this.$emit("input", t)
                },
                value: function (t) {
                    this.currentValue = t
                }
            },
            destroyed: function () {
                1 == this.currentValue && (this.constants.popupCount--, this.$removePopupClass())
            }
        }), dataType = {
            TEXT: 0,
            INTEGER: 1,
            DECIMAL: 2,
            DATE: 3,
            LOGIC: 4,
            REF: 5,
            SELECT: 6
        };
        var r = '<div class="new-search-wrap"><template v-for="(condition,index) in mainfiltercondition"><template v-if="condition.datatype == ' + dataType.SELECT + '"><yytm-select v-bind:condition="condition" v-bind:index="index" @get-select-tree-children="getSelectTreeChildren" v-on:updateAndDoQuery="onLeftTreeClick" v-on:closedropdown="closedropdown" ></yytm-select></template></template><div class="new-bar-header-secondary"><div class=\'new-searchbar\' :class="{\'has-cancel\':searchValue!=null && searchValue!=\'\'}"><i class="fa fa-search"></i><form class="new-search-input "><input type="search" :class="{\'has-cancel\':searchValue!=null && searchValue!=\'\'}" id=\'search\' @keydown.stop="onRefFilterSearch($event)" v-model="searchValue" :placeholder="searchplaceholder" /><template v-if="searchValue!=null && searchValue!=\'\' "><div class="new-search-cancel" @click="cancelSearch">取消</div></template></form></div></div></div>';
        Vue.component("yytm-ref-filter", {
            extends: Vue.yytmfilterComponentConfig,
            template: r,
            data: {
                timer: !1,
                oldSearchContent: ""
            },
            methods: {
                onRefFilterSearch: function (t) {
                    if (this.config.realTimeSearch) {
                        if (13 == t.keyCode && (t.stopImmediatePropagation(), t.preventDefault()), console.log("oldSearchContent:" + this.oldSearchContent + "   searchValue:" + this.searchValue), this.oldSearchContent != this.searchValue) {
                            this.oldSearchContent = this.searchValue;
                            var e = !1;
                            this.$data.mainfiltercondition[0] && (e = this.$data.mainfiltercondition[0].dropdown), 1 == e && this.closedropdown(0, e), this.delayRequest(0)
                        }
                    } else if (13 == t.keyCode) {
                        t.stopImmediatePropagation(), t.preventDefault();
                        var e = !1;
                        this.$data.mainfiltercondition[0] && (e = this.$data.mainfiltercondition[0].dropdown), 1 == e && this.closedropdown(0, e), this.doQuery()
                    }
                },
                delayRequest: function (t) {
                    var e = this;
                    this.timer && clearInterval(this.timer), this.timer = setInterval(function () {
                        ++t, 3 == t ? e.doQuery({
                            isESSearch: !0
                        }) : 20 == t && (e.doQuery({
                            isESSearch: !0
                        }), clearInterval(e.timer))
                    }, 100)
                },
                onLeftTreeClick: function (t, e) {
                    this.config.realTimeSearch && (this.searchValue = ""), this.updateAndDoQuery(t, e)
                }
            },
            destroyed: function () {
                for (var t = !1, e = 0; e < this.mainfiltercondition.length; e++) this.mainfiltercondition[e].dropdown && (t = !0);
                t && this.$removePopupClass()
            }
        });
        Vue.yytmRefComponentConfig = {
            template: '<div class="full-height" v-show="show"><yytm-header :config="HeaderConfig" @on-click-back="close"></yytm-header><yytm-ref-filter :config="filterConfig"  v-bind:filtercondition="filterConditionOptions" @get-filter-tree-children="getFilterTreeChildren" @on-filtercond-changed="filterChanged" ref="refFilter"></yytm-ref-filter> <div class="page-loadmore-wrapper" :style="getContentStyle(isMultiSelect)"><template v-if="grid.length==0 && tree && !hasLoadGrid && commonUseRecords.length==0"><div class="help-tip">请点击此处，进行筛选</div></template><yytm-load-more :autoFill="false" :bottom-method="loadBottom" @bottom-status-change="handleBottomChange" :bottom-all-loaded="false" ref="loadmore"><slot name="grid-content" :grid="grid" :click-Item="itemClick"><ul class="page-loadmore-list" v-if="grid.length!=0" :style="{ \'min-height\': wrapperHeight + \'px\' }" style="-webkit-overflow-scrolling: touch"><template v-if="refStyle.styleType == 1" ><li v-for="item in grid" v-on:click="itemClick(item)" :class="{ \'active\' : item.selected}"><div></div><div class="stock-box-content"><i class="fa fa-check"></i><div class="stock-name">{{getItemNameByCode(item, refStyle.title)}}</div><div class="stock-num" v-for="group in refStyle.content"><div class="stock-l" v-for="gourpItem in group"><span class="stock-title-s">{{gourpItem.name}}: </span>{{getItemNameByCode(item, gourpItem.code)}}</div></div></div></li></template><template v-else v-for="item in grid"><li :class="{\'active\' : item.selected}" v-on:click="itemClick(item)">{{getItemName(item)}}<em v-if="item.itemDescription" class="fa-charge">{{item.itemDescription}}</em><i class="fa fa-check"></i></li></template></ul><div class="no-card" v-else-if="grid.length==0 && hasLoadData && commonUseRecords.length==0"><p class="no-list-data"><img src="/ycmobileupdate/resources/default/images/no-list-data.png"></p><p class="no-list-msg"><span>暂无数据</span></p></div><template v-if="isNoMoreData && grid.length!=0 && startIndex!=0"><p class="tobacco-none" :style="noMoreStyle"><span>&nbsp;&nbsp;暂无更多数据</span></p></template></slot><div slot="bottom" class="mint-loadmore-bottom"><span v-show="bottomStatus !== \'loading\'" :class="{ \'is-rotate\': bottomStatus === \'drop\' }" style="color: rgb(153, 153, 153);">上拉加载数据</span><span v-show="bottomStatus === \'loading\'" style="color: rgb(153, 153, 153);"><mt-spinner type="fading-circle" color="rgb(153, 153, 153)" style=" margin-right: .5rem;"></mt-spinner></span></div></yytm-load-more><div class="page-loadmore-list" v-if="commonUseRecords.length>0 && grid.length==0 && !hasLoadGrid"><h4>最近常用</h4><ul class="page-list-recent"><template v-for="item in commonUseRecords"><li :class="{\'active\' : item.selected}" v-on:click="itemClick(item)">{{getItemName(item)}}<i class="fa fa-check"></i></li></template></ul></div></div><yytm-popup v-model="isShowSheet" position="bottom" class="mint-popup-4"><template  v-for="item in selectedItems" :item="item"><mt-cell :title="getItemName(item)"><mt-button size="small" @click.native="deleteSelected(item)" type="primary">删除</mt-button></mt-cell></template><div class="mint-button-unfixed"><mt-button type="default" @click.native="hideSheet">继续选择</mt-button><mt-button type="primary" @click.native="check">选好了</mt-button></div></yytm-popup><div class="mint-button-fixed" v-if="isMultiSelect"><mt-button type="default" @click.native="showSelected">查看选中({{selectedNum}})</mt-button><mt-button type="primary" @click.native="check">确认</mt-button></div></div>',
            props: {
                config: {
                    type: Object
                },
                show: {
                    type: Boolean,
                    default: !0
                },
                selectedPkArray: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                isDefdoc: {
                    defualt: !1
                },
                selectRefValues: {
                    type: Array,
                    default: function () {
                        return []
                    }
                }
            },
            data: function () {
                var t = this.$props.config.refTitle ? this.$props.config.refTitle : "参照页",
                    e = !!this.$props.config.isMultiSelect,
                    i = this.$props.selectedPkArray;
                if ((!i || 0 == i.length) && this.$props.selectRefValues && this.$props.selectRefValues.length > 0)
                    for (var a = 0; a < this.$props.selectRefValues.length; a++) i.push(this.$props.selectRefValues[a].pk);
                return {
                    bottomStatus: "",
                    grid: [],
                    commonUseRecords: [],
                    hotCommonUseTitle: null,
                    hotCommonUseRecords: [],
                    tree: null,
                    wrapperHeight: "auto",
                    startIndex: 0,
                    filterConditionOptions: {},
                    filterConfig: {},
                    refModelType: null,
                    isESRefModal: !1,
                    selectedItems: [],
                    selectedPks: i,
                    isShowSheet: !1,
                    hasLoadTree: !1,
                    constants: {
                        LOAD_DATA_TYPE_TREE: 0,
                        LOAD_DATA_TYPE_GRID: 1,
                        LOAD_DATA_TYPE_ESGRID: 3,
                        TYPE_REFMODEL_TREE: 0,
                        TYPE_REFMODEL_GRID: 1,
                        TYPE_REFMODEL_TREEANDGRID: 2
                    },
                    HeaderConfig: {
                        title: t
                    },
                    refStyle: {},
                    selectedNum: 0,
                    isMultiSelect: e,
                    hasLoadData: !1,
                    hasLoadGrid: !1,
                    isNoMoreData: !1,
                    afterRefreshFiveSecond: !1,
                    totalRecords: null
                }
            },
            methods: {
                init: function () {
                    this.$props.config && (this.refType = this.$props.config.refType, this.refKey = this.$props.config.refKey, this.selectedPks = this.$props.selectedPkArray), this.loadRefModelType()
                },
                showTree: function () {
                    this.$set(this.$data, "showDropDown", !this.$data.showDropDown)
                },
                loadBottom: function () {
                    var t = this;
                    if (t.$data.refModelType == t.REF_DATATYPE_TREE) {
                        var e = [];
                        t.startIndex + t.pageSize < t.treeGrid.length ? (e = t.treeGrid.slice(t.startIndex, t.startIndex + t.pageSize), t.startIndex += t.pageSize) : (e = t.treeGrid.slice(t.startIndex, t.treeGrid.length), t.startIndex += t.treeGrid.length), e = t.$data.grid.concat(e), t.disposeGridData(e), t.$set(t.$data, "grid", e)
                    } else t.loadRefData(t.startIndex, 1);
                    setTimeout(function () {
                        t.$refs.loadmore.onBottomLoaded()
                    }, 1e3)
                },
                loadRefData: function (t, e, i) {
                    var a = this;
                    if (0 == t || !this.$data.grid || !this.$data.isNoMoreData) {
                        var n = "/webbd-webapp/component/getRefData.mjson";
                        a.config.location && (n = a.config.location + "/getRefData.mjson");
                        var o = {
                            dataUrl: n,
                            isLoadData: !0,
                            templateUrl: null,
                            isLoadTemplate: !1,
                            params: {
                                loadDataType: e,
                                PAGE_PARAM_LIMIT: this.pageSize,
                                PAGE_PARAM_START: t,
                                GRID_QUERY_KEYWORD: this.searchboxCondition,
                                refType: this.refType,
                                isDefDocRef: !1,
                                refName: this.refType,
                                ignorecase: !0,
                                isRoot: !this.hasLoadTree
                            }
                        };
                        if (this.$props.isDefdoc && (o.params["isDefDocRef"] = !0), o.params["pk_defdoclist"] = this.$props.config.pk_defdoclist, 2 == this.refModelType && e == this.constants.LOAD_DATA_TYPE_TREE) {
                            var s = this.config.refLeftTreeParams;
                            for (var r in s) o.params[r] = s[r]
                        } else if (this.config.refParams) {
                            var l = this.config.refParams;
                            for (var r in l) o.params[r] = l[r]
                        }
                        this.treePkFieldCode && this.treePk && (o.params[this.treePkFieldCode] = this.treePk), this.fieldCodeArray && this.fieldTypesArray && (o.params["GRID_QUERY_FIELDS"] = this.fieldCodeArray, o.params["GRID_QUERY_FIELDS_TYPE"] = this.fieldTypesArray, o.params["GRID_QUERY_KEYWORD"] = this.searchboxCondition);
                        var d, a = this,
                            c = YC.Utils.clone(o.params),
                            u = function (e, n) {
                                if ((!a.isESRefModal || a.searchboxCondition == n) && (a._isFirstTimeLoadData = !1, e.invocationResult.isSuccessful)) {
                                    if (yytmRefCacheUtils.setRefCache(c, e), i && "function" == typeof i) return void i();
                                    a.$indicator.close();
                                    var o = e.invocationResult.data.data,
                                        s = null;
                                    o.grid && (s = o.grid.records, a.totalrecords = o.grid.totalrecords), o.useCountInfo && o.useCountInfo.records && (o.useCountInfo.records.length > 30 ? a.commonUseRecords = o.useCountInfo.records.slice(0, 30) : a.commonUseRecords = o.useCountInfo.records), o.hotUseInfo && o.hotUseInfo.records && (o.hotUseInfo.records.length > 30 ? a.hotCommonUseRecords = o.hotUseInfo.records.slice(0, 30) : a.hotCommonUseRecords = o.useCountInfo.records, a.hotCommonUseTitle = o.hotUseInfo.title);
                                    var r = o.tree,
                                        l = (o.common, o.config.pkFieldCode),
                                        d = o.config.codeFieldCode,
                                        u = o.config.nameFieldCode,
                                        p = o.config.treePkFieldCode,
                                        m = o.config.fieldCodeArray,
                                        f = o.config.fieldTypesArray;
                                    a.fieldCodeArray = m, a.fieldTypesArray = f, a.pkFieldCode = l, a.codeFieldCode = d, a.nameFieldCode = u, a.treePkFieldCode = p, o.refStyle && a.disposeRefStyle(o.refStyle);
                                    var h = !1;
                                    if (r)
                                        for (var v = 0; v < r.length; v++) {
                                            var g = r[v];
                                            1 != g.isLeaf || g.children && 0 != g.children.length || (h = !0)
                                        }
                                    if (a.isLazyLoad = h, a.$set(a.$data, "hasLoadData", !0), r && !a.$data.tree) {
                                        a.treeName = "", 1 == r.length ? (a.treeName = r[0].text, r = r[0].children) : a.treeName = "参照树", a.$data.tree || (a.$data.tree = r, a.$set(a.$data, "tree", r)), a.$data.refModelType == a.REF_DATATYPE_TREE && (a.treeGrid = a.tileTreeToGrid(r), s = a.treeGrid.slice(0, a.pageSize));
                                        var y = a.getFilterConditionOptions();
                                        a.$set(a.$data, "filterConditionOptions", y), a.filterConfig["realTimeSearch"] = a.isESRefModal
                                    }
                                    if (s) {
                                        a.$set(a.$data, "hasLoadGrid", !0), a.disposeGridData(s);
                                        s.length;
                                        if (0 == t) a.$set(a.$data, "grid", s), a.startIndex = s.length;
                                        else {
                                            var s = a.$data.grid.concat(s);
                                            a.$set(a.$data, "grid", s), a.startIndex = s.length
                                        }
                                        a.startIndex >= a.totalrecords && (a.afterRefresh(), a.$nextTick(function () {
                                            a.$set(a.$data, "isNoMoreData", !0);
                                            var t = a.$refs["refFilter"];
                                            t && a.$set(a.$data, "wrapperHeight", document.documentElement.clientHeight - 2.26 * t.$el.clientHeight)
                                        }))
                                    } else if (a.$props.selectRefValues && !a.isMultiSelect) {
                                        for (var b = [], C = 0; C < a.$props.selectRefValues.length; C++)
                                            if (a.$props.selectRefValues[C].pk) {
                                                var w = {};
                                                w[a.codeFieldCode] = a.$props.selectRefValues[C].code, w[a.nameFieldCode] = a.$props.selectRefValues[C].name, w[a.pkFieldCode] = a.$props.selectRefValues[C].pk, w.selected = !0, b.push(w)
                                            }
                                        a.$set(a.$data, "grid", b)
                                    }
                                    a.$indicator.close()
                                }
                            };
                        if (this._isFirstTimeLoadData && (d = yytmRefCacheUtils.getRefCache(c)), d) u(d);
                        else {
                            a.isESRefModal || a.$indicator.open({
                                text: "加载中...",
                                spinnerType: "fading-circle"
                            });
                            var p = a.searchboxCondition;
                            YC.Utils.getYytmComponentConfig(o, function (t) {
                                u(t, p)
                            })
                        }
                    }
                },
                loadRefModelType: function () {
                    var t = this;
                    this._isFirstTimeLoadData = !0;
                    var e = "/webbd-webapp/component/getRefModelInfo.mjson";
                    t.config.location && (e = t.config.location + "/getRefModelInfo.mjson");
                    var i = {
                            dataUrl: e,
                            isLoadData: !0,
                            templateUrl: null,
                            isLoadTemplate: !1,
                            params: {
                                refType: this.refType
                            }
                        },
                        t = this,
                        a = yytmRefCacheUtils.getRefModalTypeCache(t.refType),
                        n = yytmRefCacheUtils.getRefModalESTypeCache(t.refType);
                    this.$props.isDefdoc && (a = t.constants.TYPE_REFMODEL_GRID), null != a ? (t.refModelType = a, t.isESRefModal = n, t.startIndex = 0, t.pageSize = 30, t.loadRefData(t.startIndex, t.constants.LOAD_DATA_TYPE_TREE)) : YC.Utils.getYytmComponentConfig(i, function (e) {
                        if (1 == e.invocationResult.isSuccessful) {
                            var i = e.invocationResult.data.refModelType;
                            yytmRefCacheUtils.setRefModalTypeCache(t.refType, i), t.refModelType = i;
                            var a = !!e.invocationResult.data.isESRefModal;
                            yytmRefCacheUtils.setRefModalESTypeCache(t.refType, a), t.isESRefModal = a, t.startIndex = 0, t.pageSize = 30, t.loadRefData(t.startIndex, t.constants.LOAD_DATA_TYPE_TREE)
                        }
                    })
                },
                getFilterConditionOptions: function () {
                    var t = this,
                        e = new Array;
                    if (t.$data.tree) {
                        var i = {
                            datatype: 6,
                            itemkey: t.pkFieldCode,
                            label: t.treeName,
                            opera_code: "=",
                            option: null,
                            showLabel: !0,
                            treevoArray: t.$data.tree
                        };
                        e.push(i)
                    }
                    return e
                },
                tileTreeToGrid: function (t) {
                    var e = this,
                        i = new Array,
                        a = function (t, n) {
                            for (var o = 0; o < t.length; o++) {
                                var s = t[o];
                                if (s.children) a(s.children, i);
                                else {
                                    var r = {};
                                    r[e.pkFieldCode] = s.id, r[e.codeFieldCode] = s.code, s.hiddenText ? r[e.nameFieldCode] = s.hiddenText : r[e.nameFieldCode] = s.text, i.push(r)
                                }
                            }
                        };
                    return a(t, i), i
                },
                disposeLoadData: function (t, e) {
                    if (t.refModel, 1 == t.refModel && e > this.current) {
                        var i = t.grid;
                        this.$set(this.$data, "grid", i.concat(this.$data.grid)), this.current += 1
                    }
                    if (2 == t.refModel) {
                        if (e > this.current && t.grid) {
                            var i = t.grid;
                            this.$set(this.$data, "grid", i.concat(this.$data.grid)), this.current += 1
                        }
                        t.tree && (this.$set(this.$data, "trees", t.tree), this.$set(this.$data, "hasTree", !0))
                    }
                },
                disposeRefStyle: function (t) {
                    var e = {};
                    if (0 != t.styleType) {
                        for (var i = 0; i < t.fieldCodes.length; i++) e[t.fieldCodes[i]] = t.fieldNames[i];
                        for (var i = 0; i < t.content.length; i++)
                            for (var a = t.content[i], n = 0; n < a.length; n++) a[n] = {
                                code: a[n],
                                name: e[a[n]]
                            };
                        this.refStyle = t
                    }
                },
                itemClick: function (t) {
                    this.isMultiSelect ? t.selected ? this.deleteSelected(t) : this.insertSelected(t) : (this.insertSelected(t), this.check())
                },
                insertSelected: function (t) {
                    if (this.isMultiSelect) {
                        for (var e = !1, i = 0; i < this.$data.selectedItems.length; i++) {
                            this.$data.selectedItems[i][this.pkFieldCode] == t[this.pkFieldCode] && (e = !0)
                        }
                        e || this.$data.selectedItems.push(t);
                        var a = this.$data.selectedPks;
                        a || (this.$data.selectedPks = []), e = !1;
                        for (var i = 0; i < a.length; i++) a[i] == t[this.pkFieldCode] && (e = !0);
                        e || a.push(t[this.pkFieldCode])
                    } else {
                        if (this.$data.selectedItems.length > 0) {
                            if (this.$data.selectedItems[0][this.pkFieldCode] == t[this.pkFieldCode]) return;
                            this.$set(this.$data.selectedItems[0], "selected", !1)
                        }
                        this.$set(this.$data, "selectedItems", [t])
                    }
                    this.$set(t, "selected", !0)
                },
                deleteSelected: function (t) {
                    for (var e = 0; e < this.$data.selectedItems.length; e++) {
                        this.$data.selectedItems[e][this.pkFieldCode] == t[this.pkFieldCode] && (this.$data.selectedItems.splice(e, 1), this.$set(t, "selected", !1), 0 == this.$data.selectedItems.length && this.hideSheet())
                    }
                },
                hideSheet: function () {
                    this.$set(this.$data, "isShowSheet", !1)
                },
                getItemName: function (t) {
                    return t[this.nameFieldCode]
                },
                getItemNameByCode: function (t, e) {
                    return t[e]
                },
                showSelected: function () {
                    this.$data.selectedItems && this.$data.selectedItems.length > 0 && this.$set(this.$data, "isShowSheet", !0)
                },
                check: function () {
                    var t = {};
                    t.refKey = this.refKey, t.refValue = new Array;
                    for (var e = "", i = 0; i < this.$data.selectedItems.length; i++) {
                        var a = {
                            name: this.$data.selectedItems[i][this.nameFieldCode],
                            code: this.$data.selectedItems[i][this.codeFieldCode],
                            pk: this.$data.selectedItems[i][this.pkFieldCode]
                        };
                        t.refValue.push(a), e += a.pk + ","
                    }
                    this.$emit("get-ref-data", t), this.addToCommonUse(e.substring(0, e.length - 1))
                },
                addToCommonUse: function (t) {
                    var e = this,
                        i = "/webbd-webapp/component/addToRefCommonUse.mjson";
                    e.config.location && (i = e.config.location + "/addToRefCommonUse.mjson");
                    var a = {
                        refType: e.$props.config.refType,
                        itemselect_type: 1
                    };
                    a[e.pkFieldCode] = t, YC.Utils.invokeBusinessProcedure(i, a, function (t) {
                    }, function (t) {
                    })
                },
                close: function () {
                    this.$emit("close")
                },
                disposeGridData: function (t) {
                    for (var e = this.$data.selectedPks, i = 0; i < t.length; i++) {
                        var a = t[i];
                        if (this.$set(a, "selected", !0), e && e.length > 0)
                            for (var n = 0; n < e.length; n++) a[this.pkFieldCode] == e[n] && this.insertSelected(a);
                        else
                            for (var n = 0; n < this.$data.selectedItems.length; n++) a[this.pkFieldCode] == this.$data.selectedItems[n][this.pkFieldCode] && (a.selected = !0)
                    }
                },
                getTreeNode: function (t) {
                    var e = null,
                        i = function (t, a) {
                            if (!e)
                                for (var n = 0; n < t.length; n++) {
                                    var o = t[n];
                                    if (o.id == a) return void (e = o);
                                    o.children && i(o.children, a)
                                }
                        };
                    return i(this.tree, t), e
                },
                getTreeNodeByCond: function (t) {
                    var e = new Array,
                        i = function (t, a) {
                            if (t)
                                for (var n = 0; n < t.length; n++) {
                                    var o = t[n];
                                    if (o.children) i(o.children, a);
                                    else if (1 == o.leaf && (o.hiddenText.indexOf(a) >= 0 || o.code.indexOf(a) >= 0)) e.push(o);
                                    else
                                        for (var s = o.hiddenText.toPinyin(), r = 0; r < s.length; r++) s[r].indexOf(a.toLocaleUpperCase()) >= 0 && e.push(o)
                                }
                        };
                    return i(this.tree, t), e
                },
                filterChanged: function (t) {
                    var e = this;
                    e.isNoMoreData = !1;
                    var i = "" != t.PUB_PARAMS ? JSON.parse(t.PUB_PARAMS) : null;
                    if (e.$data.refModelType == e.REF_DATATYPE_TREE) {
                        if (t.searchboxCondition)
                            if (e.isLazyLoad) e.$toast({
                                message: "该参照暂不支持搜索功能！",
                                iconClass: "mintui mintui-success",
                                duration: 1e3
                            });
                            else {
                                var a = e.getTreeNodeByCond(t.searchboxCondition);
                                e.$set(e.$data, "grid", e.tileTreeToGrid(a))
                            }
                        else if (i) {
                            var n = i[0].value,
                                o = e.getTreeNode(n),
                                s = e.tileTreeToGrid([o]);
                            e.isMultiSelect ? (e.insertSelected(s[0]), e.disposeGridData(e.grid)) : (e.insertSelected(s[0]), e.$nextTick(function () {
                                e.check()
                            }))
                        }
                    } else e.treePk = i && i.length > 0 ? i[0].value : null, e.startIndex = 0, e.searchboxCondition = t.searchboxCondition, t.extraParams && t.extraParams.isESSearch ? t.searchboxCondition ? e.loadRefData(0, e.constants.LOAD_DATA_TYPE_ESGRID) : e.$set(e.$data, "grid", []) : (e.$indicator.open("正在搜索..."), e.loadRefData(0, e.constants.LOAD_DATA_TYPE_GRID))
                },
                getFilterTreeChildren: function (t) {
                    var e = this;
                    e.$indicator.open({
                        text: "加载中...",
                        spinnerType: "fading-circle"
                    });
                    var i = "/webbd-webapp/component/getRefData.mjson";
                    e.config.location && (i = e.config.location + "/getRefData.mjson");
                    var a = {
                        dataUrl: i,
                        isLoadData: !0,
                        templateUrl: null,
                        isLoadTemplate: !1,
                        params: {
                            loadDataType: 0,
                            refType: this.refType,
                            isRoot: !1,
                            node: t.id
                        }
                    };
                    YC.Utils.getYytmComponentConfig(a, function (i) {
                        if (i.invocationResult.isSuccessful) {
                            var a = i.invocationResult.data.data,
                                n = a.tree;
                            if (n) {
                                for (var o = 0; o < n.length; o++) n[o].text = n[o].hiddenText + " " + n[o].code, n[o].hiddenText = n[o].text;
                                t.children = n, e.$set(t, "expanded", !t.expanded), e.$indicator.close()
                            }
                        }
                    })
                },
                handleBottomChange: function (t) {
                    this.bottomStatus = t
                },
                getContentStyle: function (t) {
                    return {
                        height: t ? "calc(100% - 2.2rem)" : ""
                    }
                },
                afterRefresh: function () {
                    var t = this;
                    t.$set(t.$data, "afterRefreshFiveSecond", !1), setTimeout(function () {
                        t.$set(t.$data, "afterRefreshFiveSecond", !0)
                    }, 2e3)
                }
            },
            created: function () {
                this.init()
            },
            mounted: function () {
            },
            beforeCreate: function () {
                this.REF_DATATYPE_TREE = 0, this.REF_DATATYPE_GRID = 1, this.REF_DATATYPE_TREEANDGRID = 2, this.oriHeaderConfig = YC.Navigation.getHeaderConfig()
            },
            computed: {
                noMoreStyle: function () {
                    return this.afterRefreshFiveSecond ? {
                        visibility: "hidden"
                    } : {
                        visibility: "visible"
                    }
                }
            },
            watch: {
                treeData: function (t, e) {
                },
                selectedItems: function (t, e) {
                    this.$set(this.$data, "selectedNum", t.length)
                },
                selectedPks: function (t, e) {
                },
                show: function (t, e) {
                },
                hasLoadData: function (t, e) {
                    var i = this;
                    if (1 == t && 0 == e)
                        for (var a = 0; a < i.$props.selectRefValues.length; a++) {
                            var n = i.$props.selectRefValues[a];
                            if (n.pk) {
                                var o = {};
                                o[i.codeFieldCode] = n.code, o[i.pkFieldCode] = n.pk, o[i.nameFieldCode] = n.name, i.insertSelected(o)
                            }
                        }
                }
            },
            destroyed: function () {
                YC.Navigation.setHeaderConfig(this.oriHeaderConfig)
            }
        }, Vue.component("yytm-ref", Vue.yytmRefComponentConfig), __yytmRefCacheUtils = function () {
            this._refCache = {}, this.setRefCache = function (t, e) {
                if (t && e.invocationResult.isSuccessful) {
                    var i = JSON.stringify(t);
                    this._refCache[i] = YC.Utils.clone(e)
                }
            }, this.getRefCache = function (t) {
                if (t) {
                    var e = JSON.stringify(t),
                        i = this._refCache[e];
                    return i || null
                }
            }, this._refModalTypeCache = {}, this.setRefModalTypeCache = function (t, e) {
                t && "" != t && (this._refModalTypeCache[t] = e)
            }, this.getRefModalTypeCache = function (t) {
                return t && "" != t && void 0 != this._refModalTypeCache[t] ? this._refModalTypeCache[t] : null
            }, this._refModalESTypeCache = {}, this.setRefModalESTypeCache = function (t, e) {
                t && "" != t && (this._refModalESTypeCache[t] = e)
            }, this.getRefModalESTypeCache = function (t) {
                return t && "" != t && void 0 != this._refModalTypeCache[t] ? this._refModalESTypeCache[t] : null
            }
        }, yytmRefCacheUtils = new __yytmRefCacheUtils;
        Vue.yytmReportComponentConfig = {
            template: '<div><yytm-header :config="headConfig"></yytm-header><div class="content"><yytm-filter v-bind:config="filterConfig" @on-filtercond-changed="onFilterChanged"></yytm-filter><div class="content-wrap"><div class="content-box"><div class="page-loadmore-wrapper has-footer" ref="wrapper" :style="{ height: wrapperHeight + \'px\' }"><mt-loadmore :bottom-method="loadBottom" :autoFill="false" @bottom-status-change="handleBottomChange" :bottom-all-loaded="allLoaded" ref="loadmore" :top-method="loadTop" @translate-change="translateChange" @top-status-change="handleTopChange" bottomPullText="上拉加载更多" ><ul ref="listBlock" class="item-box" :style="{\'min-height\' : wrapperHeight + \'px\' }"><li v-for="(rowData,index) in list" v-tap="{ methods:onClick,items:rowData}"><template v-if="template.IMG"><div class="item-img"><img v-lazy="getUrl(rowData)"></div></template><div class="item-content-r"><div class="item-content-box" v-if="template.HEAD"><p class="item-name" v-for="headtemplate in template.HEAD">{{rowData[headtemplate.code].text}}</p><div class="item-para" v-if="template.BODY"><div class="item-block" v-for="bodytemplate in template.BODY"><span>{{bodytemplate.text}}:</span>{{rowData[bodytemplate.code].text}}</div></div><div class="item-account item-color-warn"><template v-if="template.FOOT"><div class="item-block" v-for="foottemplate in template.FOOT"><template v-if="template[foottemplate.cellId]"><template v-for="(footitem, index) in template[foottemplate.cellId]"><template v-if="index==0"><span>{{footitem.text}}:</span>{{rowData[footitem.code].text}}</template><template v-else>{{rowData[footitem.code].text}}</template></template></template><template v-else><span>{{foottemplate.text}}:</span>{{rowData[foottemplate.code].text}}</template></div></template></div></div></div></li></ul><template v-if="list.length==0 && hasLoadData"><div class="no-card"><p class="no-list-data"><img src="/ycmobileupdate/resources/default/images/no-list-data.png"></p><p class="no-list-msg"><span>暂无数据</span></p></div></template><template v-if="isNoMoreData && list.length!=0"><p class="tobacco-none"><span>暂无更多数据</span></p></template><div :style="{ height: noneBlockHeight + \'px\' }" ref="noneBlock"></div><div slot="top" class="mint-loadmore-top"><span v-show="topStatus !== \'loading\'" :class="{ \'is-rotate\': topStatus === \'drop\' }" >松开立即刷新</span><span v-show="topStatus === \'loading\'"><mt-spinner type="fading-circle" style=" margin-right: .5rem;"></mt-spinner>正在刷新数据中...</span></div><div slot="bottom" class="mint-loadmore-bottom"><span v-show="bottomStatus !== \'loading\'" :class="{ \'is-rotate\': bottomStatus === \'drop\' }">上拉加载数据</span><span v-show="bottomStatus === \'loading\'"><mt-spinner type="fading-circle" style=" margin-right: .5rem;"></mt-spinner></span></div></mt-loadmore></div></div></div></div></div>',
            props: ["config"],
            data: function () {
                var t, e = this.$props.config.funCode,
                    i = YC.Utils.getFuncByCode(e),
                    a = this.$props.config.nodeKey,
                    n = this.$props.config.location;
                return t = i && i.name ? i.name : this.$props.config.billName, {
                    appName: t,
                    headConfig: {
                        title: t
                    },
                    list: [],
                    templateId: void 0,
                    template: {},
                    currentPage: 0,
                    startIndex: 0,
                    location: this.$props.config.location,
                    pageSize: 10,
                    filterConfig: {
                        params: {
                            funCode: e,
                            nodeKey: a,
                            location: n
                        }
                    },
                    condition: "",
                    allLoaded: !1,
                    topStatus: "",
                    bottomStatus: "",
                    wrapperHeight: 0,
                    noneBlockHeight: 0,
                    hasLoadData: !1,
                    isNoMoreData: !1
                }
            },
            methods: {
                loadTop: function () {
                    if (1 != this.isLoadingTop) {
                        this.isLoadingTop = !0;
                        var t = this;
                        t.startIndex = 0, t.$data.isNoMoreData = !1, this.requestData(!1), setTimeout(function () {
                            t.startIndex += t.pageSize, t.$refs.loadmore.onTopLoaded(), t.isLoadingTop = !1
                        }, 1500)
                    }
                },
                loadBottom: function () {
                    var t = this;
                    this.requestData(!1), setTimeout(function () {
                        t.$refs.loadmore.onBottomLoaded()
                    }, 1500)
                },
                handleBottomChange: function (t) {
                    this.bottomStatus = t
                },
                handleTopChange: function (t) {
                    this.moveTranslate = 1, this.topStatus = t
                },
                translateChange: function (t) {
                    const e = +t;
                    this.translate = e.toFixed(2), this.moveTranslate = (1 + e / 70).toFixed(2)
                },
                requestData: function (t) {
                    var e = {},
                        i = this;
                    e["funCode"] = this.$props.config.funCode;
                    var a = this.$props.config.nodeKey;
                    if (a || (a = this.$props.config.funCode), i.startIndex += 1, e.PAGE_PARAM_START = i.startIndex, e.PAGE_PARAM_LIMIT = i.pageSize, e.isLoadTemplate = t, i.condition)
                        for (var n in i.condition) e[n] = i.condition[n];
                    var o = function (e) {
                        if (e.invocationResult.isSuccessful) {
                            if (t) {
                                var a;
                                e.invocationResult.template && (a = e.invocationResult.template, i.$set(i.$data, "template", a))
                            }
                            var n;
                            e.invocationResult.data && (n = e.invocationResult.data, i.disposeData(n), i.$set(i.$data, "hasLoadData", !0)), i.$refs.wrapper && i.$set(i.$data, "wrapperHeight", document.documentElement.clientHeight - i.$refs.wrapper.getBoundingClientRect().top), Vue.nextTick(function () {
                                i.$refs.noneBlock && i.$refs.listBlock.getBoundingClientRect().height < i.$data.wrapperHeight ? i.$set(i.$data, "noneBlockHeight", i.$data.wrapperHeight - i.$refs.listBlock.getBoundingClientRect().height - 30) : i.$set(i.$data, "noneBlockHeight", 0)
                            })
                        }
                    };
                    YC.Utils.invokeBusinessProcedure(this.location + "/getReportData.mjson?nodeKey=" + a, e, o)
                },
                getUrl: function (t) {
                    return decodeURIComponent(t.img.text)
                },
                disposeData: function (t) {
                    if (1 != this.$data.isNoMoreData) {
                        if (this.$data.list.length > 0 && 1 != this.startIndex) {
                            var e = this.$data.list.concat(t);
                            this.$set(this.$data, "list", e)
                        } else this.$set(this.$data, "list", t), this.$set(this.$data, "isNoMoreData", !1);
                        t && t.length == this.pageSize || this.$set(this.$data, "isNoMoreData", !0), this.$indicator.close()
                    }
                },
                onFilterChanged: function (t) {
                    this.$indicator.open({
                        spinnerType: "fading-circle"
                    }), this.$set(this.$data, "condition", t)
                },
                onClick: function (t) {
                    this.$emit("on-click", t.items)
                }
            },
            beforeCreate: function () {
            },
            created: function () {
                this.currentPage = 0, this.startIndex = 0, this.$data.isNoMoreData = !1, this.$indicator.open({
                    spinnerType: "fading-circle"
                }), this.requestData(!0)
            },
            mounted: function () {
            },
            watch: {
                condition: function (t, e) {
                    var i = this;
                    i.currentPage = 0, i.startIndex = 0, i.$data.isNoMoreData = !1, i.requestData(!1)
                }
            }
        };
        Vue.component("yytm-report", Vue.yytmReportComponentConfig);
        Vue.component("yytm-infosec-register", {
            template: "<div class=\"popup-infosec\">\t<yytm-popup v-model='isShow' :modal='true' v-bind:close-on-click-modal= 'false'>\t\t<div class='popup-title'>第一次登录需输入授权码：</div>\t\t<mt-field placeholder='授权码需联系管理员获取' v-model='infoSecSignCode'></mt-field>\t\t<mt-field placeholder='请输入账号PIN码' v-model='infoSecPin'></mt-field>\t\t<div class='popup-footer'>\t\t\t<mt-button type='default' v-on:click='infoSecSignUp()'>注册并认证</mt-button>\t\t</div>\t</yytm-popup></div>",
            props: {
                isShow: {
                    type: Boolean,
                    default: !1
                },
                infoSecNamePrefix: {
                    type: String,
                    default: ""
                }
            },
            data: function () {
            },
            created: function () {
            },
            methods: {
                infoSecSignUp: function () {
                    var t = this,
                        e = this.infoSecNamePrefix + YC.LocalStorage.getValue(YC.AppProperty.UFT_AUTH_NAME),
                        i = this.infoSecSignCode,
                        a = this.infoSecPin;
                    t.$indicator.open("注册中..."), YC.Plugins.infoSecSignUp(e, i, function (i) {
                        i.success ? YC.Plugins.infoSecRequestCert(e, a, function (n) {
                            i.success ? (YC.LocalStorage.setValue(YC.AppProperty.UFT_INFOSEC_PIN, a), YC.Plugins.infoSecQrLogin(e, a, decodeURI(YC.Utils.getUrlParam(window.location.href, YC.AppProperty.UFT_SACN_CODE)), function (e) {
                                t.$indicator.close(), e.success ? t.$emit("on-infosec-registesuccess", e) : YC.Utils.showToast("扫码登录出错:" + e.desc)
                            })) : (t.$indicator.close(), YC.Utils.showToast("证书请求出错:" + n.desc)), YC.Logger.info("证书请求结果：" + n.desc)
                        }) : (t.$indicator.close(), YC.Utils.showToast("注册出错：" + i.desc))
                    })
                }
            }
        });
        Vue.component("yytm-date-range-picker", {
            template: '<mt-picker :slots="dateSlots"  :item-height="55" @change="onDateChange" ref="picker" show-toolbar><span class="mint-datetime-action " @click="onCancel">取消</span><span class="mint-datetime-action " @click="onConfirm">确认</span></mt-picker>',
            props: {
                visible: {
                    type: Boolean
                },
                minDate: {
                    type: String,
                    default: function () {
                        return "1970-01-01"
                    }
                },
                maxDate: {
                    type: String,
                    default: function () {
                        return "2020-12-31"
                    }
                },
                format: {
                    type: String,
                    defualt: function () {
                        return "yyyy-mm-dd"
                    }
                },
                leftDefaultDate: {
                    type: String,
                    default: function () {
                        return (new Date).format("yyyy-mm-dd")
                    }
                },
                rightDefaultDate: {
                    type: String,
                    default: function () {
                        return (new Date).format("yyyy-mm-dd")
                    }
                }
            },
            data: function () {
                return {
                    dateSlots: {},
                    pickerFormat: "yyyymm",
                    rightYearSlots: [],
                    rightMonthSlots: [],
                    rightDaySlots: [],
                    leftYearSlots: [],
                    leftMonthSlots: [],
                    leftDaySlots: [],
                    rightMinYear: 0,
                    rightMaxYear: 0,
                    rightMinMonth: 0,
                    rightMaxMonth: 0,
                    rightMinDay: 0,
                    rightMaxDay: 0,
                    leftMinYear: 0,
                    leftMaxYear: 0,
                    leftMinMonth: 0,
                    leftMaxMonth: 0,
                    leftMinDay: 0,
                    leftMaxDay: 0,
                    defLeftYear: 0,
                    defLeftMonth: 0,
                    defLeftDay: 0,
                    defRightYear: 0,
                    defRightMonth: 0,
                    defRightDay: 0
                }
            },
            created: function () {
                this.initPickerFormat(), this.initMaxMinParam(), this.initDateSlots()
            },
            methods: {
                initPickerFormat: function () {
                    var t = "";
                    this.$props.format ? (t = this.$props.format, t = t.replace(/-/g, ""), t = t.replace(/ /g, ""), t = t.toLowerCase()) : t = "yyyymm", this.$data.pickerFormat = t
                },
                initDateSlots: function () {
                    var t = this;
                    t.leftYearSlots = t.getYearSlots(t.leftMinYear, t.leftMaxYear), t.rightYearSlots = t.getYearSlots(t.rightMinYear, t.rightMaxYear), t.leftMonthSlots = t.getMonthSlots(1, 12, t.defLeftYear), t.rightMonthSlots = t.getMonthSlots(1, 12, t.defRightYear), t.leftDaySlots = t.getDaySlots(1, 31, t.defLeftYear, t.defLeftMonth), t.rightDaySlots = t.getDaySlots(1, 31, t.defRightYear, t.defLeftMonth), "yyyymm" == this.pickerFormat ? t.dateSlots = [{
                        flex: 3,
                        values: t.leftYearSlots,
                        className: "slot1",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.leftYearSlots, t.defLeftYear)
                    }, {
                        flex: 3,
                        values: t.leftMonthSlots,
                        className: "slot2",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.leftMonthSlots, t.defLeftMonth)
                    }, {
                        divider: !0,
                        content: "-",
                        className: "slot3"
                    }, {
                        flex: 3,
                        values: t.rightYearSlots,
                        className: "slot4",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.rightYearSlots, t.defRightYear)
                    }, {
                        flex: 3,
                        values: t.rightMonthSlots,
                        className: "slot5",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.rightMonthSlots, t.defRightMonth)
                    }] : "yyyymmdd" == this.pickerFormat ? t.dateSlots = [{
                        flex: 50,
                        values: t.leftYearSlots,
                        className: "slot1",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.leftYearSlots, t.defLeftYear)
                    }, {
                        flex: 50,
                        values: t.leftMonthSlots,
                        className: "slot2",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.leftMonthSlots, t.defLeftMonth)
                    }, {
                        flex: 50,
                        values: t.leftDaySlots,
                        className: "slot3",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.leftDaySlots, t.defLeftDay)
                    }, {
                        divider: !0,
                        content: "-",
                        className: "slot4"
                    }, {
                        flex: 50,
                        values: t.rightYearSlots,
                        className: "slot5",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.rightYearSlots, t.defRightYear)
                    }, {
                        flex: 50,
                        values: t.rightMonthSlots,
                        className: "slot6",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.rightMonthSlots, t.defRightMonth)
                    }, {
                        flex: 50,
                        values: t.rightDaySlots,
                        className: "slot7",
                        textAlign: "center",
                        defaultIndex: t.getIndex(t.rightDaySlots, t.defRightDay)
                    }] : this.pickerFormat
                },
                initMaxMinParam: function () {
                    var t = this,
                        e = new Date(t.minDate),
                        i = new Date(t.maxDate);
                    t.$data.leftMinYear = e.getFullYear(), t.$data.leftMaxYear = i.getFullYear(), t.$data.rightMinYear = e.getFullYear(), t.$data.rightMaxYear = i.getFullYear(), t.$data.leftMinMonth = e.getMonth() + 1, t.$data.leftMaxMonth = i.getMonth() + 1, t.$data.rightMinMonth = e.getMonth() + 1, t.$data.rightMaxYMonth = i.getMonth() + 1, t.$data.leftMinDay = e.getDate(), t.$data.leftMaxDay = i.getDate(), t.$data.rightMinDay = e.getDate(), t.$data.rightMaxYDay = i.getDate();
                    var a = new Date(t.$props.leftDefaultDate),
                        n = new Date(t.$props.rightDefaultDate);
                    t.$data.defLeftYear = a.getFullYear(), t.$data.defLeftMonth = a.getMonth() + 1, t.$data.defLeftDay = a.getDate(), t.$data.defRightYear = n.getFullYear(), t.$data.defRightMonth = n.getMonth() + 1, t.$data.defRightDay = n.getDate()
                },
                getYearSlots: function (t, e) {
                    for (var i = [], a = t; a <= e; a++) i.push(a + "");
                    return i
                },
                getMonthSlots: function (t, e, i) {
                    var a = this,
                        n = [];
                    i && (i = new Number(i), i == a.leftMinYear ? t = a.leftMinMonth : i == a.leftMaxYear && (e = a.leftMaxMonth));
                    for (var o = t; o <= e; o++) o < 10 ? n.push("0" + o) : n.push(o + "");
                    return n
                },
                getDaySlots: function (t, e, i, a) {
                    var n = this,
                        o = [];
                    i && a && (i = new Number(i), a = new Number(a), i == n.leftMinYear && a == n.leftMinMonth ? t = n.leftMinDay : e = i == n.leftMaxYear && a == n.leftMaxMonth ? n.leftMaxDay : function (t, e) {
                        return e = parseInt(e, 10), new Date(t, e, 0).getDate()
                    }(i, a));
                    for (var s = t; s <= e; s++) s < 10 ? o.push("0" + s) : o.push(s + "");
                    return o
                },
                getDateMap: function (t) {
                },
                onConfirm: function () {
                    this.$emit("confirm", this._lastValues)
                },
                onCancel: function () {
                    this.$emit("cancel", this._lastValues)
                },
                getIndex: function (t, e) {
                    var i = "";
                    i = e < 10 ? "0" + e : "" + e;
                    for (var a = 0; a < t.length; a++)
                        if (t[a] == i) return a;
                    return 0
                },
                onDateChange: function (t, e) {
                    var i = this;
                    if (i._lastValues && i.fixDatePickerBug(e), console.log(e[0] + " " + e[1] + " " + e[2] + " " + e[3] + " " + e[4] + " " + e[5]), i.checkDateValid(e) || i._lastValues) {
                        i._lastValues || i.saveLastDate(e);
                        var a = i.checkDateRangeValid(e);
                        if (0 == a.success) {
                            var n = a.errorField,
                                o = i.getTheChangePos(e, n),
                                s = (i._lastValues[o], i.getRelativePos(o));
                            t.setSlotValue(o, e[s])
                        }
                        i.saveLastDate(e), i.resetDateSlots(e)
                    }
                },
                fixDatePickerBug: function (t) {
                    for (var e = this, i = 0; i < t.length; i++) void 0 == t[i] && (t[i] = e._lastValues[i])
                },
                resetDateSlots: function (t) {
                    var e = this;
                    e.leftYearSlots = e.getYearSlots(e.leftMinYear, e.leftMaxYear), e.rightYearSlots = e.getYearSlots(e.rightMinYear, e.rightMaxYear), "yyyymmdd" == e.pickerFormat ? (e.leftMonthSlots = e.getMonthSlots(1, 12, t[0]), e.$set(e.$data.dateSlots[1], "values", e.leftMonthSlots), e.rightMonthSlots = e.getMonthSlots(1, 12, t[3]), e.$set(e.$data.dateSlots[5], "values", e.rightMonthSlots), e.leftDaySlots = e.getDaySlots(1, 31, t[0], t[1]), e.$set(e.$data.dateSlots[2], "values", e.leftDaySlots), e.rightDaySlots = e.getDaySlots(1, 31, t[3], t[4]), e.$set(e.$data.dateSlots[6], "values", e.rightDaySlots)) : "yyyymm" == e.pickerFormat && (e.leftMonthSlots = e.getMonthSlots(1, 12, t[0]), e.$set(e.$data.dateSlots[1], "values", e.leftMonthSlots), e.rightMonthSlots = e.getMonthSlots(1, 12, t[2]), e.$set(e.$data.dateSlots[4], "values", e.rightMonthSlots))
                },
                checkDateValid: function (t) {
                    for (var e = 0; e < t.length; e++)
                        if (void 0 == t[e]) return !1;
                    return !0
                },
                checkDateRangeValid: function (t) {
                    var e = this;
                    if ("yyyymm" == e.pickerFormat) {
                        if (t[0] > t[2]) return {
                            success: !1,
                            errorField: "year"
                        };
                        if (t[0] == t[2] && t[1] > t[3]) return {
                            success: !1,
                            errorField: "month"
                        }
                    } else if ("yyyymmdd" == e.pickerFormat) {
                        if (t[0] > t[3]) return {
                            success: !1,
                            errorField: "year"
                        };
                        if (t[0] == t[3] && t[1] > t[4]) return {
                            success: !1,
                            errorField: "month"
                        };
                        if (t[0] == t[3] && t[1] == t[4] && t[2] > t[5]) return {
                            success: !1,
                            errorField: "day"
                        }
                    }
                    return {
                        success: !0
                    }
                },
                getRelativePos: function (t) {
                    var e = this;
                    return "yyyymm" == e.pickerFormat ? t < 2 ? t + 2 : t - 2 : "yyyymmdd" == e.pickerFormat ? t < 3 ? t + 3 : t - 3 : void 0
                },
                getTheChangePos: function (t, e) {
                    for (var i = this, a = 0, n = 0; n < t.length; n++)
                        if (t[n] != this._lastValues[n]) {
                            a = n;
                            break
                        }
                    return "yyyymm" == i.pickerFormat ? 0 != a && 2 != a || "month" != e || a++ : "yyyymmdd" == i.pickerFormat && (0 != a && 3 != a || "month" != e ? 1 != a && 4 != a || "day" != e || a++ : a++), a
                },
                saveLastDate: function (t) {
                    this._lastValues = YC.Utils.clone(t)
                },
                formatDate: function (t) {
                    var e = t.split("-");
                    return e[1].length < 2 && (e[1] = "0" + e[1]), e[0] + "-" + e[1]
                }
            }
        });
        Vue.component("yytm-datetime-picker", {
            extends: MINT.DatetimePicker,
            template: '<yytm-popup v-model="visible" position="bottom" class="mint-datetime"><mt-picker :slots="dateSlots" @change="onChange" :visible-item-count="visibleItemCount" class="mint-datetime-picker" ref="picker" show-toolbar><span class="mint-datetime-action mint-datetime-cancel" @click="visible = false;$emit(\'cancel\')">{{ cancelText }}</span><span class="mint-datetime-action mint-datetime-confirm" @click="confirm">{{ confirmText }}</span></mt-picker></yytm-popup>',
            watch: {
                visible: function (t) {
                    t ? this.$addPopupClass() : this.$removePopupClass()
                }
            },
            computed: {
                typeStr: function () {
                    return "time" === this.type ? "Hm" : "date" === this.type ? "YMD" : "yearmonth" === this.type ? "YM" : "datetime" == this.type ? "YMDHms" : "YMDHm"
                }
            },
            methods: {
                getValue: function (t) {
                    var e = "";
                    if ("time" === this.type)
                        for (var i = 0; i < t.length; i++) 0 != i && (e += ":"), e += ("0" + this.getTrueValue(t[i])).slice(-2);
                    else {
                        var a = this.getTrueValue(t[0]),
                            n = this.getTrueValue(t[1]),
                            o = 1;
                        if (this.typeStr.indexOf("D") > -1) {
                            o = this.getTrueValue(t[2]);
                            o > this.getMonthEndDay(a, n) && (this.selfTriggered = !0, o = 1)
                        }
                        var s = this.typeStr.indexOf("H") > -1 ? this.getTrueValue(t[this.typeStr.indexOf("H")]) : 0,
                            r = this.typeStr.indexOf("m") > -1 ? this.getTrueValue(t[this.typeStr.indexOf("m")]) : 0;
                        e = new Date(a, n - 1, o, s, r, 0)
                    }
                    return e
                },
                setSlotsByValues: function (t) {
                    if (this.$refs.picker) {
                        const e = this.$refs.picker.setSlotValue;
                        "time" === this.type && (e(0, t[0]), e(1, t[1])), "time" !== this.type && (e(0, t[0]), e(1, t[1]), "date" == this.type && e(2, t[2]), "datetime" === this.type && (e(2, t[2]), e(3, t[3]), e(4, t[4]))), [].forEach.call(this.$refs.picker.$children, function (t) {
                            return t.doOnValueChange()
                        })
                    }
                },
                isDateString: function (t) {
                    return "yearmonth" === this.type ? !(t instanceof Date) && /\d{4}(\-|\/|.)\d{1,2}/.test(t) : /\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}/.test(t)
                },
                convertFormatToType: function (t) {
                    return t = t.trim(), "hh:mm" == t ? "time" : "yyyy-MM-dd" == t ? "date" : "yyyy-MM" == t ? "yearmonth" : "datetime"
                }
            }
        }), Vue.yytmIndicator = {
            template: '<div class="mint-indicator" :class="randomClassName" v-show="visible"><div class="mint-indicator-wrapper" :style="{ \'padding\': text ? \'20px\' : \'15px\' }"><mt-spinner class="mint-indicator-spin" :type="convertedSpinnerType" :size="32"></mt-spinner><span class="mint-indicator-text" v-show="text">{{ text }}</span></div><div class="mint-indicator-mask" @touchmove.stop.prevent></div></div>',
            data: function () {
                return {
                    visible: !1,
                    randomClassName: "mint-indicator-" + (Math.floor(10 * Math.random()) + 1)
                }
            },
            computed: {
                convertedSpinnerType: function () {
                    switch (this.spinnerType) {
                        case "double-bounce":
                            return 1;
                        case "triple-bounce":
                            return 2;
                        case "fading-circle":
                            return 3;
                        default:
                            return 0
                    }
                }
            },
            props: {
                text: String,
                spinnerType: {
                    type: String,
                    default: "snake"
                }
            }
        };
        Vue.yytmRichTextHtmlComponentConfig = {
            template: '<div class="yytm-richtext" v-html="contentData"></div>',
            props: ["content"],
            data: function () {
                return {
                    contentData: ""
                }
            },
            methods: {
                requestData: function () {
                    this.analyzeContent()
                },
                refresh: function () {
                    this.requestData()
                },
                analyzeContent: function () {
                    if (this.$props.content) {
                        var t = this,
                            e = escape(this.$props.content),
                            i = {
                                content: e
                            },
                            t = this,
                            a = function (e) {
                                if (0 != e.invocationResult.success && e.invocationResult.isSuccessful) {
                                    var i = e.invocationResult.data;
                                    t.$set(t.$data, "contentData", decodeURIComponent(i))
                                }
                            };
                        this.$require ? this.$require({
                            url: "/uftbi/defreport/loadMobileRichtextHtmlComponentData.mjson",
                            params: i,
                            success: a
                        }) : YC.Utils.invokeBusinessProcedure("/uftbi/defreport/loadMobileRichtextHtmlComponentData.mjson", i, a)
                    }
                }
            },
            created: function () {
                this.requestData()
            },
            watch: {
                content: function () {
                    this.requestData()
                }
            }
        }, Vue.component("yytm-richtext", Vue.yytmRichTextHtmlComponentConfig);
        Vue.yytmListComponentConfig = {
            template: '<div><mt-tab-container v-model="selected" v-if="!onlyTabbar"><mt-tab-container-item id="default"><slot name="default"><span>默认页</span></slot></mt-tab-container-item><template v-for="container in containers"><mt-tab-container-item :id="container.id"><slot :name="container.id"><span>该页面暂无内容</span></slot></mt-tab-container-item></template></mt-tab-container><template v-if="isShow"><mt-tabbar v-model="selected" fixed><div class="tabbar-menu"><template v-for="container in containers"><mt-tab-item :id="container.id"><template slot="icon"><div><img class="is-selected-active" width="100%" :src="getActivePng(container.picPath)"><img class="is-selected-noactive" width="100%" :src="container.picPath"><span v-if="container.count && container.count>0" class="badge" style="">{{container.count}}</span></div></template>{{container.name}}</mt-tab-item></template></div></mt-tabbar></template></div>',
            props: {
                config: {
                    type: Object,
                    default: {
                        containers: []
                    }
                },
                default: {
                    type: String,
                    default: "default"
                },
                show: {
                    type: Boolean,
                    default: !1
                },
                onlyTabbar: {
                    type: Boolean,
                    default: !1
                }
            },
            data: function () {
                return {
                    showTabbar: !0,
                    selected: null,
                    containers: []
                }
            },
            methods: {
                getActivePng: function (t) {
                    return t.split(".png")[0] + "-active.png"
                }
            },
            beforeCreate: function () {
            },
            created: function () {
            },
            mounted: function () {
                this.$set(this.$data, "selected", this.$props.default), this.$set(this.$data, "containers", this.$props.config.containers), (!this.$data.containers || this.$data.containers.length <= 1) && (this.$set(this.$data, "showTabbar", !1), this.$set(this.$data, "selected", this.$data.containers[0].id))
            },
            computed: {
                isShow: function () {
                    document.body;
                    return this.show && this.showTabbar ? (this.$emit("change-show", !0), !0) : (this.$emit("change-show", !1), !1)
                }
            },
            watch: {
                selected: function (t, e) {
                    this.$emit("after-tab-change", t)
                }
            }
        }, Vue.component("yytm-tabbar", Vue.yytmListComponentConfig), Vue.component("yytm-select", {
            props: ["condition", "index"],
            template: '<div class="tab-link button" ><div  class="searchTitle" v-bind:class="{active:condition.dropdown}" :style="buttonStyle" v-on:click="showTree()">{{showtext}}<i v-if="!condition.dropdown" class="fa fa-chevron-down"></i><i v-else class="fa fa-chevron-up"></i></div><div v-show="condition.dropdown" class="select-list"><yytm-tree v-bind:data="condition.treevoArray" @selected="selectItem" @get-tree-children="getTreeChildren" :selected-pks="selectedPks"></yytm-tree></div><div :class="{\'modal-overlay-visible\':condition.dropdown}" class="modal-overlay" @click="onModalClick"></div></div>',
            data: function () {
                return {
                    config: {
                        top: "80px",
                        width: "100%",
                        height: "50%",
                        isShow: !1
                    },
                    showtext: this.condition.label,
                    id: this.condition.defaultValue,
                    triggerClass: {
                        searchtitle: !0,
                        active: !1
                    },
                    selectedPks: []
                }
            },
            created: function () {
                this.setHiddenText(this.condition.treevoArray);
                var t = this.condition.defaultValue;
                if (this.condition.defaultValue)
                    for (var e = 0; e < this.condition.treevoArray.length; e++) this.condition.defaultValue == this.condition.treevoArray[e].id && (this.showtext = this.condition.treevoArray[e].text);
                this.$set(this.$data, "selectedPks", [t])
            },
            methods: {
                setHiddenText: function (t) {
                    if (t && 0 != t.length)
                        for (var e = 0; e < t.length; e++) {
                            var i = t[e],
                                a = i.children;
                            this.setHiddenText(a), i.hiddenText && i.code ? i.text = i.hiddenText + " " + i.code : i.hiddenText = i.text
                        }
                },
                showTree: function () {
                    this.$emit("before-show-filter-item", this.$props.index), this.triggerClass = {
                        searchtitle: !0,
                        active: !this.triggerClass.active
                    };
                    var t = this.$props.condition.dropdown;
                    this.$emit("closedropdown", this.$props.index, t)
                },
                onModalClick: function () {
                    this.$props.condition.dropdown = !1
                },
                selectItem: function (t) {
                    this.config.isShow = !1, t.id != this.$props.condition.defaultValue ? this.$emit("updateAndDoQuery", this.$props.index, t.id) : this.$props.condition.dropdown = !1, this.$set(this.$data, "id", t.id), this.$set(this.$data, "showtext", t.hiddenText)
                },
                getTreeChildren: function (t) {
                    this.$emit("get-select-tree-children", t)
                }
            },
            computed: {
                buttonStyle: function () {
                    return this.id && "" != this.id ? {
                        color: "#15C8A9"
                    } : {}
                }
            },
            watch: {
                "condition.dropdown": function (t, e) {
                    e && !t ? this.$removePopupClass() : !e && t && this.$addPopupClass()
                }
            }
        });
        Vue.yytmTitleComponentConfig = {
            template: '<div class="app-item"><div class="app-item-title">{{titleName}}</div></div>',
            props: ["titleName"],
            data: function () {
                return {}
            }
        }, Vue.component("yytm-title", Vue.yytmTitleComponentConfig);
        Vue.yytmTableComponentConfig = {
            template: '<table class="table table-striped table-hover"><thead><tr><th v-if="isShowCrowno==\'Y\'" class="txr"></th><template v-for="tm in template"><th class="txr"><template v-if="isSort(tm)"><div class="table-cell" v-tap="{methods:clickHeadTitle,tm:tm}"><span class="table-cell-value">{{tm}}</span><span class="table-cell-sort"><template v-if="getTmSortFlag(tm)==\'asc\'"><i class="fa fa-sort-up on"></i></template><template v-else-if="getTmSortFlag(tm)==\'desc\'"><i class="fa fa-sort-up down"></i></template><template v-else><i class="fa fa-sort-up"></i></template></span></div></template><template v-else>{{tm}}</template></th></template></tr></thead><tbody><tr v-for="(data,index) in tableData" v-if=" lineNum==-1 || index<lineNum"><td v-if="isShowCrowno==\'Y\'" class="bold">{{index+1}}</td><template v-for="tm in template"><td :class="getTdStyle(tm)"><template v-if="isDataBar(tm)"><div class="progress"><div class="progress-bar progress-bar-info" :style="{\'width\':getPercent(data, tm)+\'%\'}"> <span class="sr-text">{{getContentData(data[tm])}}</span></div></div></template><template v-else-if="isRankStyle(tm)"><span :class="getRankStyle(index+1)">{{getContentData(data[tm])}}</span></template><template v-else-if="isIconSet(tm)"><span :class="getIconSetStyle(data[tm])">{{getContentData(data[tm])}}</span></template><template v-else><span class="bold">{{getContentData(data[tm])}}</span></template></td></template></tr></tbody></table>',
            props: ["componentCode", "filterParams", "itemHeight", "isShowCrowno", "lineNum"],
            data: function () {
                return {
                    template: [],
                    tableData: [],
                    databar: [],
                    iconset: [],
                    sortHeadItem: [],
                    sortStatus: {},
                    srcTableData: [],
                    config: {}
                }
            },
            methods: {
                isDataBar: function (t) {
                    return -1 != $.inArray(t, this.databar)
                },
                isRankStyle: function (t) {
                    var e = this.config["排名样式列名"];
                    return !(!e || t != e)
                },
                isIconSet: function (t) {
                    return -1 != $.inArray(t, this.iconset)
                },
                getTmSortFlag: function (t) {
                    var e = this.sortStatus[t];
                    return e || (e = "none"), e
                },
                isSort: function (t) {
                    return -1 != $.inArray(t, this.sortHeadItem)
                },
                getPercent: function (t, e) {
                    return t[e + "_per"]
                },
                getContentData: function (t) {
                    if (this.isNumber(t)) {
                        if (0 === parseFloat(t)) {
                            if ("是" == this.config["是否0显示为空"]) return ""
                        }
                        return this.formatNumberRgx(t)
                    }
                    return t
                },
                formatNumberRgx: function (t) {
                    var e = t.toString().split(".");
                    return e[0] = e[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","), e.join(".")
                },
                isNumber: function (t) {
                    return 0 == t || null != /^(-)?\d+(\.\d+)?$/.exec(t) && "" != t
                },
                getIconSetStyle: function (t) {
                    var e = parseFloat(t);
                    return e > 0 ? {
                        "flag-up": !0
                    } : e < 0 ? {
                        "flag-down": !0
                    } : {}
                },
                getRankStyle: function (t) {
                    var e = parseFloat(t);
                    return e <= 3 ? "rank-first-" + e : "rank-other"
                },
                getTdStyle: function (t) {
                    return this.isIconSet(t) ? {
                        txr: !0
                    } : {}
                },
                clickHeadTitle: function (t) {
                    t.event.stopPropagation;
                    var e = t.tm;
                    if (this.isSort(e)) {
                        for (var i in this.sortStatus) i != e && this.$set(this.$data.sortStatus, i, "none");
                        var a, n = this.sortStatus[e];
                        if (a = "asc" == n ? "desc" : "desc" == n ? "none" : "asc", this.$set(this.$data.sortStatus, e, a), "asc" == a) this.getSortedArray(a, e);
                        else if ("desc" == a) this.getSortedArray(a, e);
                        else {
                            var o = YC.Utils.clone(this.srcTableData);
                            this.$set(this.$data, "tableData", o)
                        }
                    }
                },
                getSortedArray: function (t, e) {
                    var i;
                    if ("asc" == t) var i = function (t, i) {
                        var a = parseFloat(t[e]),
                            n = parseFloat(i[e]);
                        return a < n ? -1 : a > n ? 1 : 0
                    };
                    else if ("desc" == t) var i = function (t, i) {
                        var a = parseFloat(t[e]),
                            n = parseFloat(i[e]);
                        return a > n ? -1 : a < n ? 1 : 0
                    };
                    var a = 0,
                        n = 0,
                        o = this.$data.tableData,
                        s = o.length;
                    this.config["排序区域起始行号"] && ((a = parseInt(this.config["排序区域起始行号"]) - 1) > s || a < 0) && (a = 0), this.config["排序区域结束行号"] && ((n = parseInt(this.config["排序区域结束行号"]) - 1) > s || n <= a) && (n = 0);
                    var r = [],
                        l = [],
                        d = [];
                    0 != a && (r = o.slice(0, a)), 0 != n ? (d = o.slice(n + 1), l = o.slice(a, n + 1)) : 0 == n && (l = o.slice(a)), l.sort(i);
                    var c = [];
                    c = c.concat(r, l, d), this.$set(this.$data, "tableData", c)
                },
                requestData: function () {
                    if (this.componentCode) {
                        var t = YC.Utils.getAllUrlParams(window.location.href),
                            e = new Array;
                        if (t && 0 != t.length)
                            for (var i = 0; i < t.length; i++) {
                                var a = t[i],
                                    n = {
                                        fieldName: a[0],
                                        condition: "=",
                                        value: a[1]
                                    };
                                e.push(n)
                            }
                        var o = {
                                componentCode: "HtmlTableComponent-" + this.componentCode + "_12313233",
                                PUB_PARAMS: JSON.stringify(e),
                                vtempletcode: this.$props.componentCode
                            },
                            s = this,
                            r = function (t) {
                                if (0 != t.invocationResult.success && t.invocationResult.isSuccessful) {
                                    var e = (t.invocationResult.data, t.invocationResult.data),
                                        i = (t.invocationResult.orderByField, t.invocationResult.databar),
                                        a = t.invocationResult.iconset,
                                        n = t.invocationResult.config;
                                    if (i && 0 != i.length) {
                                        for (var o = {}, r = 0; r < e.length; r++)
                                            for (var l = 0; l < i.length; l++) {
                                                var d = parseFloat(e[r][i[l]]);
                                                o[i[l] + "_sum"] ? o[i[l] + "_sum"] < d && (o[i[l] + "_sum"] = d) : o[i[l] + "_sum"] = d
                                            }
                                        for (var r = 0; r < e.length; r++)
                                            for (var l = 0; l < i.length; l++) {
                                                var d = parseFloat(e[r][i[l]]),
                                                    c = d / o[i[l] + "_sum"] * 100;
                                                e[r][i[l] + "_per"] = c
                                            }
                                    }
                                    var u = n["排序列名"];
                                    u && s.$set(s.$data, "sortHeadItem", u.split(",")), s.$set(s.$data, "template", t.invocationResult.template), s.$set(s.$data, "tableData", e);
                                    var p = YC.Utils.clone(e);
                                    s.$set(s.$data, "srcTableData", p), s.$set(s.$data, "databar", i), s.$set(s.$data, "iconset", a), s.$set(s.$data, "config", n)
                                }
                            };
                        this.$require ? this.$require({
                            url: "/uftbi/defreport/loadMobileComponentData.mjson",
                            params: o,
                            success: r
                        }) : YC.Utils.invokeBusinessProcedure("/uftbi/defreport/loadMobileComponentData.mjson", o, r)
                    }
                },
                refresh: function () {
                    this.requestData()
                }
            },
            mounted: function () {
            },
            created: function () {
                this.requestData()
            },
            watch: {
                filterParams: function (t, e) {
                    this.requestData()
                },
                componentCode: function () {
                    this.requestData()
                },
                lineNum: function () {
                    this.requestData()
                }
            }
        }, Vue.component("yytm-table", Vue.yytmTableComponentConfig);
        Vue.yytmSubTreeComponentConfig = {
            template: '<ul><template v-for="(node,index) in trees" ><li><div class="tree-cell" :class="{active:isNodeSelected(node)}"  @click="itemclick(node, index)"><div class="tree-cell-text">{{node.text}}</div><div class="tree-cell-icon" ><i class="fa" v-bind:class="{ \'fa-chevron-up\' : getFolderState(node)==true,\'fa-chevron-down\' : getFolderState(node)==false ,\'fa-check\' : isNodeSelected(node)}"></i></div></div><template><yytm-subtree v-if="node.children && node.expanded" :data="node.children" @selected="selectItem" @get-tree-children="getTreeChildren" @clean-selected-state="cleanSelectedState"></yytm-subtree></template></li></template></ul>',
            props: ["data"],
            data: function () {
                return {
                    trees: []
                }
            },
            methods: {
                itemclick: function (t, e) {
                    var i = this;
                    if (t.children || !t.leaf) t.children && 0 != t.children.length ? this.$set(t, "expanded", !t.expanded) : (t.children = [], this.$set(this.$data.trees, e, t), this.$emit("get-tree-children", t));
                    else {
                        var i = this;
                        this.$emit("selected", t), this.$emit("clean-selected-state"), i.$set(t, "_selected", !0)
                    }
                },
                folderClick: function (t, e) {
                    t.children && 0 != t.children.length ? this.$set(t, "expanded", !t.expanded) : (t.children = [], this.$set(this.$data.trees, e, t), this.$emit("get-tree-children", t))
                },
                getFolderState: function (t) {
                    if (t.children || !t.leaf) return !!t.expanded
                },
                selectItem: function (t) {
                    this.$emit("selected", t)
                },
                getTreeChildren: function (t) {
                    this.$emit("get-tree-children", t)
                },
                isNodeSelected: function (t) {
                    return 1 == t._selected
                },
                cleanSelectedState: function () {
                    this.$emit("clean-selected-state")
                }
            },
            created: function () {
                this.$set(this.$data, "trees", this.$props.data)
            },
            mounted: function () {
            },
            watch: {
                data: function (t, e) {
                    this.$set(this.$data, "trees", t)
                }
            }
        };
        Vue.yytmTreeComponentConfig = {
            template: '<div class="mint-tree"><yytm-subtree :data="trees" @selected="selectItem" @get-tree-children="getTreeChildren"@clean-selected-state="cleanAllSelectedState"></yytm-subtree></div>',
            props: ["data", "selectedPks"],
            data: function () {
                return {
                    trees: []
                }
            },
            methods: {
                itemclick: function (t, e) {
                    t.children || !t.leaf ? t.children && 0 != t.children.length ? this.$set(t, "expanded", !t.expanded) : (t.children = [], this.$set(this.$data.trees, e, t), this.$emit("get-tree-children", t)) : this.$emit("selected", t)
                },
                getFolderState: function (t) {
                    if (t.children || !t.leaf) return t.expanded ? "↑" : "↓"
                },
                selectItem: function (t) {
                    this.$emit("selected", t)
                },
                getTreeChildren: function (t) {
                    this.$emit("get-tree-children", t)
                },
                cleanAllSelectedState: function () {
                    var t = function (e) {
                        for (var i = 0; i < e.length; i++) {
                            var a = e[i];
                            1 == a._selected && (a._selected = !1), a.children && a.children.length > 0 && t(a.children)
                        }
                    };
                    t(this.$data.trees)
                },
                disposeSelectedPks: function (t) {
                    var e = this,
                        i = t,
                        a = function (t) {
                            for (var o = !1, s = 0; s < t.length; s++) {
                                var r = t[s];
                                r.children && r.children.length > 0 ? o = a(r.children) : n(r, i) && (o = !0, e.$set(r, "_selected", !0))
                            }
                            return o
                        },
                        n = function (t, e) {
                            for (var i = 0; i < e.length; i++)
                                if (t.id == e[i]) return !0;
                            return !1
                        };
                    a(this.$data.trees)
                }
            },
            created: function () {
                this.$set(this.$data, "trees", this.$props.data), this.disposeSelectedPks(this.selectedPks)
            },
            mounted: function () {
            },
            watch: {
                data: function (t, e) {
                    this.$set(this.$data, "trees", t)
                },
                selectedPks: function (t, e) {
                    this.disposeSelectedPks(t)
                }
            }
        }, Vue.component("yytm-tree", Vue.yytmTreeComponentConfig), Vue.component("yytm-subtree", Vue.yytmSubTreeComponentConfig);
        Vue.component("yytm-workflow", {
            template: '        <div class="yyt-page-approvehistory">\n\t\t\t<template v-if="isNewMode">            <div class="approvehistory-head">\n                <div class="head-img">\n\t\t\t\t\t<span v-if="isComplete" class="icon-img icon-complete"><i class="fa fa-check"></i></span>\n\t\t\t\t\t<span v-else-if="billStatus == bizStatus.FREE" class="icon-img"><i class="fa fa-warning"></i></span>\n                   <span v-else class="icon-img"><i class="fa fa-clock-o"></i></span>\n                </div>\n                <div class="head-info">\n\t\t\t\t\t <template v-if="isComplete" >                    \t<p class="head-info-standby info-complete">审批已完成</p>\n\t\t\t\t\t </template>\t\t\t\t\t <template v-else-if="billStatus == bizStatus.FREE" >                    \t<p class="head-info-standby">单据尚未提交</p>\n\t\t\t\t\t\t<p class="item-submit" v-if="commiterName">待 {{commiterName}} 提交</p>\n\t\t\t\t\t </template>\t\t\t\t\t <template v-else>                    \t<p class="head-info-standby">等待<span class="standby-name">{{nextWorkFlowInfo.items[0].name || ""}}</span>审批</p>\n                    \t<p v-if="spendTime">历时<span class="head-info-date">{{spendTime|| ""}}</span></p>\n\t\t\t\t\t </template>                </div>\n            </div>\n            <div class="approvehistory-body">\n\t\t\t\t <h3>流程信息</h3>                <ul class="body-history">\n                    <li v-for="item in workFlowShowInfo" class="body-history-item" :class="getItemStyle(item.status)">\n                            <div class="item-mark-cir"></div>\n                            <div class="item-mark-line"></div>\n\t\t\t\t\t\t\t <template v-if="item.activityid == \'WAITFORCOMMIT\'">\t\t\t\t\t\t\t\t<div class="item-info">\n\t\t\t\t\t\t\t\t\t<div class="item-info-arrow"></div>\n                               \t <div class="item-info-content">\n\t\t\t\t\t\t\t\t\t\t<div class="item-submit">待 {{item.items[0].name}} 提交</div>                                \t</div>\n                            \t</div>\n\t\t\t\t\t\t\t </template>\t\t\t\t\t\t\t <template v-else>                            \t<div class="item-info">\n\t\t\t\t\t\t\t\t\t<div class="item-info-arrow"></div>\n                               \t <div class="item-info-content" :class="item.items.length>1? \'item-multi-child\':\'\' ">\n                                \t\t <p class="item-dept">{{item.activityname|| ""}}</p>                                \t\t <template v-for="subItem in item.items">                                 \t  \t\t<p class="item-info-username"><span class="item-username" :class="{\'state-active\':subItem.status == \'待处理\'}">{{subItem.name}}</span><span class="item-status">{{subItem.status}}</span><span class="item-note">   {{subItem.note}}</span></p>\n                                \t \t\t<p class="item-date">{{subItem.time | date-format("yyyy-MM-dd hh:mm")}}</p>\n\t\t\t\t\t\t\t\t\t\t\t<p v-if="subItem.ispredict" class="predict-active"><span>预测流程</span><i class="triangle"></i></p>\n                                \t \t</template>                                \t</div>\n                            \t</div>\n\t\t\t\t\t\t\t </template>                    </li>\n                </ul>\n            </div>\n\t\t</template>\t\t<div v-else class="list-block list-history">\n\t\t\t<template  v-for="(item,index) in workFlowShowInfo">\t\t\t\t<div class="content-block-title">{{index+1}}</div>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<div class="item-content">\n\t\t\t\t\t\t\t<div class="item-inner">\n\t\t\t\t\t\t\t\t<div class="item-title label">审批人</div>\n\t\t\t\t\t\t\t\t<div class="item-after">\n\t\t    \t\t\t\t\t\t<span>{{item.items[0].name}}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<div class="item-content">\n\t\t\t\t\t\t\t<div class="item-inner">\n\t\t\t\t\t\t\t\t<div class="item-title label">审批意见</div>\n\t\t\t\t\t\t\t\t<div class="item-after">\n\t\t    \t\t\t\t\t\t<span>{{item.items[0].note}}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<div class="item-content">\n\t\t\t\t\t\t\t<div class="item-inner">\n\t\t\t\t\t\t\t\t<div class="item-title label">审批状态</div>\n\t\t\t\t\t\t\t\t<div class="item-after">\n\t\t    \t\t\t\t\t\t<span>{{item.items[0].status}}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<div class="item-content">\n\t\t\t\t\t\t\t<div class="item-inner">\n\t\t\t\t\t\t\t\t<div class="item-title label">审批时间</div>\n\t\t\t\t\t\t\t\t<div class="item-after">\n\t\t    \t\t\t\t\t\t<span>{{item.items[0].time}}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</template">\t\t</div>\n   </div>\n',
            props: {
                billid: String,
                billtype: String,
                workflows: Array,
                vbillstatus: String
            },
            data: function () {
                return {
                    isNewMode: !1,
                    isComplete: !1,
                    isFreeMode: !1,
                    spendTime: null,
                    firstWorkFlowInfo: {},
                    nextWorkFlowInfo: {},
                    workFlowList: this.workflows ? this.workflows : "",
                    workFlowShowInfo: [],
                    defaultImage: "/ycmobileupdate/resources/default/images/common/avatar.png",
                    billStatus: this.getBillStatus(),
                    commiterName: null
                }
            },
            created: function () {
                this.workflows ? this.disposeHistoryDatas() : this.loadWorkFlowHistory(this.billid, this.billtype)
            },
            methods: {
                loadWorkFlowHistory: function (t, e) {
                    var i = this;
                    if (t && e) {
                        var a = YC.LocalStorage.getValue(YC.AppProperty.TEMP_UFT_WORKFLOWHISTORY);
                        if (a) {
                            var n = JSON.parse(a),
                                o = n.billId,
                                s = n.billType;
                            if (t == o && e == s) return i.workFlowList = n.historys, i.disposeHistoryDatas(), void YC.LocalStorage.clear(YC.AppProperty.TEMP_UFT_WORKFLOWHISTORY)
                        }
                        var r = function (t) {
                                var e = t.invocationResult;
                                e && (i.workFlowList = e.historys, i.disposeHistoryDatas())
                            },
                            l = function () {
                            };
                        YC.Utils.invokeBusinessProcedure("/webbd-webapp/component/getBillWorkFlowHistory.mjson", {
                            billId: t,
                            billType: e
                        }, r, l)
                    }
                },
                disposeHistoryDatas: function () {
                    for (var t = this, e = 0; e < t.workFlowList.length; e++) {
                        var i = t.workFlowList[e];
                        for (var a in i) i[a.toLocaleLowerCase()] = i[a]
                    }
                    if (t.workFlowList.length > 0) {
                        t.workFlowList[0].sendername && (t.workFlowShowInfo.push({
                            activityname: "提交人",
                            status: "提交单据",
                            isCommit: !0,
                            items: [{
                                status: "提交单据",
                                name: t.workFlowList[0].sendername,
                                time: t.workFlowList[0].sendtime
                            }]
                        }), t.commiterName = t.workFlowList[0].sendername);
                        for (var n = !1, o = {}, s = !1, e = 0; e < t.workFlowList.length; e++) {
                            var r = t.workFlowList[e];
                            if (t.disposeStatusName(r), !r.activityid) {
                                s = !0, t.workFlowShowInfo.push({
                                    activityid: null,
                                    activityname: "审批环节",
                                    status: r.status,
                                    ispredict: !1,
                                    items: [r]
                                });
                                break
                            }
                            if (t.isNewMode = !0, r.activityid == o.activityid && r.ispredict == o.ispredict && "作废" != o.status) {
                                t.workFlowShowInfo[t.workFlowShowInfo.length - 1].items.push(r)
                            } else t.workFlowShowInfo.push({
                                activityid: r.activityid,
                                activityname: r.activityname,
                                status: r.status,
                                ispredict: r.ispredict,
                                items: [r]
                            }), t.billStatus != t.bizStatus.FREE || t.workFlowList[e + 1] || t.workFlowShowInfo.push({
                                activityid: "WAITFORCOMMIT",
                                activityname: r.activityname,
                                status: "待处理",
                                ispredict: !1,
                                items: [{
                                    status: "待处理",
                                    name: t.workFlowList[0].sendername,
                                    sendtime: o.time
                                }]
                            });
                            o = r, 0 == e && (t.firstWorkFlowInfo = t.workFlowShowInfo[t.workFlowShowInfo.length - 1]), "待处理" != r.status || n || (n = !0, t.nextWorkFlowInfo = t.workFlowShowInfo[t.workFlowShowInfo.length - 1], t.nextWorkFlowInfo.approving = !0)
                        }
                        if (s) return;
                        t.billStatus != t.bizStatus.CHECKGOING && t.billStatus != t.bizStatus.COMMIT && t.billStatus != t.bizStatus.FREE && (t.isComplete = !0), t.nextWorkFlowInfo.items[0].sendtime && (t.spendTime = t.getSpendTimeStr(new Date(t.nextWorkFlowInfo.items[0].sendtime.replace(/-/g, "/")), new Date))
                    }
                },
                getSpendTimeStr: function (t, e) {
                    var i = e.getTime() - t.getTime(),
                        a = parseInt(i / 864e5),
                        n = parseInt(i % 864e5 / 36e5),
                        o = parseInt(i % 36e5 / 6e4);
                    parseInt(i % 6e4 / 1e3);
                    return a + " 天 " + n + " 小时 " + o + " 分钟 "
                },
                getItemStyle: function (t) {
                    var t;
                    return "提交单据" == t ? {
                        commit: !0
                    } : "作废" == t ? {
                        deal: !0
                    } : "已处理" == t ? {
                        deal: !0
                    } : "待处理" == t ? {
                        active: !0
                    } : "待审批" == t ? {
                        forecast: !0
                    } : {
                        complete: !0
                    }
                },
                disposeStatusName: function (t) {
                    var e = t.status;
                    "已审批" == e ? t.status = "已处理" : "处理中" == e && (t.status = "待处理")
                },
                getBillStatus: function () {
                    if (!this.vbillstatus) return null;
                    var t = "" + this.vbillstatus;
                    return "审批未通过" == t || "0" == t ? 0 : "审批通过" == t || "1" == t ? 1 : "审批进行中" == t || "2" == t ? 2 : "提交状态" == t || "提交态" == t || "3" == t ? 3 : "作废状态" == t || "作废态" == t || "4" == t ? 4 : "冲销状态" == t || "冲销态" == t || "5" == t ? 5 : "终止(结算）态" == t || "6" == t ? 6 : "冻结状态" == t || "冻结态" == t || "7" == t ? 7 : "自由态" == t || "8" == t ? 8 : void 0
                }
            }
        });
        Vue.yytmSearchBarComponentConfig = {
            template: '  <div class="yyt-comm-searchbar">\n    <i class="fa fa-search"></i>\n    <form action="javascript:;" @click="onClickForm">\n      <input type="search"\n             ref="searchInput"\n             :placeholder="placeholder"\n             @click="onFocus"\n             v-model="keyValue"\n\t\t\t  @keydown.stop="onClickSearch($event)"             :disabled="disabled"\n            />\n    </form>\n    <i class="fa fa-times" v-if="keyValue" @click="clearInputValue"></i>\n  </div>',
            props: {
                placeholder: {
                    type: String,
                    default: function () {
                        return ""
                    }
                },
                disabled: {
                    type: Boolean,
                    default: function () {
                        return !1
                    }
                }
            },
            data: function () {
                return {
                    keyValue: ""
                }
            },
            watch: {
                keyValue: function (t) {
                    this.keyValue || this.$emit("on-click-search", this.keyValue)
                }
            },
            methods: {
                onClickForm: function () {
                    this.$emit("on-click-form")
                },
                onFocus: function () {
                    this.$emit("on-input-focus")
                },
                onClickSearch: function (t) {
                    13 == event.keyCode && (event.stopImmediatePropagation(), event.preventDefault(), YC.Utils.isMobile() && cordova.plugins.Keyboard.close(), this.$emit("on-click-search", this.keyValue))
                },
                initValue: function () {
                    this.keyValue = ""
                },
                clearInputValue: function () {
                    this.keyValue = ""
                },
                onInputFoucs: function () {
                    this.$refs.searchInput.focus()
                },
                onInputBlur: function () {
                    this.$refs.searchInput.blur()
                }
            }
        }, Vue.component("yytm-searchbar", Vue.yytmSearchBarComponentConfig);
        Vue.yytmUploadImgComponentConfig = {
            template: "\t<div>\t\t<div class='avatar-img' @click='onImageContentClick'>\t\t\t<slot>\t\t\t\t<div class='avatar-img-name'></div>\t\t\t</slot>\t\t</div>\t\t<mt-actionsheet :actions='actions' v-model='isShowActionSheet' cancel-text='取消'></mt-actionsheet>\t\t<yytm-popup v-if='showCutPhoto' v-model='showCutPhoto' :modal='true' :position='position' style='width: 100%;'>\t\t\t<div class='system-cut'>\t\t\t\t<vue-cropper ref='cropper' \t\t\t\t\t:img='option.img' \t\t\t\t\t:output-size='option.size' \t\t\t\t\t:output-type='option.outputType' \t\t\t\t\t:info='false' \t\t\t\t\t:full='option.full' \t\t\t\t\t:fixed='fixed' \t\t\t\t\t:fixed-number='fixedNumber'\t\t\t\t\t:can-move='option.canMove' \t\t\t\t\t:can-move-box='option.canMoveBox' \t\t\t\t\t:fixed-box='option.fixedBox' \t\t\t\t\t:original='option.original' \t\t\t\t\t:auto-crop='option.autoCrop' \t\t\t\t\t:auto-crop-width='option.autoCropWidth' \t\t\t\t\t:auto-crop-height='option.autoCropHeight' \t\t\t\t\t:center-box='option.centerBox' \t\t\t\t\t@real-time='realTime' \t\t\t\t\t:high='option.high' \t\t\t\t\t@img-load='imgLoad' mode='cover'></vue-cropper>\t\t\t</div>\t\t\t<div class='rotate-img'><div class='rotate-circle' @click='rotateRight'><i class='fa fa-rotate-right'></i></div></div>\t\t\t<div class='rotate-footer'><div class='rotate-item' @click='cancelImg'>取消</div><div class='rotate-item' @click='comfirmImg'>确认</div></div>\t\t</yytm-popup>\t</div>",
            props: {
                config: {
                    type: Object,
                    default: {}
                }
            },
            data: function () {
                return {
                    actions: this._structSheetAction(),
                    isShowActionSheet: !1,
                    showCutPhoto: !1,
                    option: {
                        img: "https://qn-qn-kibey-static-cdn.app-echo.com/goodboy-weixin.PNG",
                        size: 1,
                        full: !0,
                        outputType: "jpeg",
                        canMove: !1,
                        fixedBox: !1,
                        original: !1,
                        canMoveBox: !0,
                        autoCrop: !0,
                        autoCropWidth: 300,
                        autoCropHeight: 300,
                        centerBox: !0,
                        high: !0
                    },
                    show: !0,
                    fixed: !0,
                    fixedNumber: [1, 1]
                }
            },
            created: function () {
            },
            mounted: function () {
            },
            methods: {
                onImageContentClick: function () {
                    this.isShowActionSheet = !0
                },
                _structSheetAction: function () {
                    var t = [];
                    if (this.$props.config.sheetActions)
                        for (var e = 0; e < this.props.config.sheetActions.length; e++) {
                            var i = this.props.config.sheetActions[e];
                            "photos" == i ? t.push({
                                name: "从相册中选择图片",
                                method: this._openAlbum
                            }) : "camera" == i && t.push({
                                name: "拍照",
                                method: this._takePhoto
                            })
                        } else t = [{
                        name: "从相册中选择图片",
                        method: this._openAlbum
                    }, {
                        name: "拍照",
                        method: this._takePhoto
                    }];
                    return t
                },
                _openAlbum: function () {
                    this._getPicture("PHOTO")
                },
                _takePhoto: function () {
                    this._getPicture("CAMERA")
                },
                _viewPhoto: function () {
                    var t = document.getElementsByClassName("preview-ori-picture");
                    YC.Utils.initImagePreview(t, "avator")
                },
                _getPicture: function (t) {
                    var e = this;
                    if (!YC.Utils.isMobile()) return void e._cropImg("https://qn-qn-kibey-static-cdn.app-echo.com/goodboy-weixin.PNG");
                    var i = {
                        from: t,
                        quality: this.$data.isOriImage ? 80 : 35
                    };
                    e.$indicator.open(), YC.Plugins.getPicture(function (t) {
                        e.$indicator.close(), e._cropImg(t)
                    }, function (t) {
                        e.$indicator.close()
                    }, i)
                },
                _cropImg: function (t) {
                    this.showCutPhoto = !0, this.option.img = t, this.showCutPhoto = !0
                },
                realTime: function (t) {
                    this.previews = t
                },
                cancelImg: function () {
                    this.showCutPhoto = !1
                },
                comfirmImg: function () {
                    this.finish("blob")
                },
                finish: function (t) {
                    var e = this;
                    "blob" === t ? this.$refs.cropper.getCropBlob(function (t) {
                        console.log(t);
                        window.URL.createObjectURL(t);
                        window.requestFileSystem(LocalFileSystem.TEMPORARY, 10485760, function (i) {
                            i.root.getFile((new Date).getTime() + ".jpeg", {
                                create: !0,
                                exclusive: !1
                            }, function (i) {
                                i.createWriter(function (a) {
                                    a.onwriteend = function (t) {
                                        console.log("Write completed."), e.$emit("on-change", i.toURL())
                                    }, a.onerror = function (t) {
                                        console.log("Write failed: " + t.toString())
                                    };
                                    var n = t;
                                    a.write(n)
                                }, errorHandler)
                            })
                        }), e.showCutPhoto = !1
                    }) : this.$refs.cropper.getCropData(function (t) {
                        e.$emit("on-change", t), e.showCutPhoto = !1
                    })
                },
                rotateLeft: function () {
                    this.$refs.cropper.rotateLeft()
                },
                rotateRight: function () {
                    this.$refs.cropper.rotateRight()
                }
            },
            watch: {}
        }, Vue.component("yytm-upload-img", Vue.yytmUploadImgComponentConfig);
        var l = Vue.component("yytm-toast", {
                template: '<transition name="mint-toast-pop"><div class="mint-toast" v-if="visible" :class="customClass" :style="{ \'padding\': iconClass === \'\' ? \'10px\' : \'20px\' }"><i class="mint-toast-icon" :class="iconClass" v-if="iconClass !== \'\'"></i><div class="mint-toast-text" :style="{ \'padding-top\': iconClass === \'\' ? \'0\' : \'10px\' }" v-html="message"></div><span class="mint-toast-close" @click="close"><i class="fa fa-close"></i></span></div></transition>',
                props: {
                    message: String,
                    className: {
                        type: String,
                        default: ""
                    },
                    position: {
                        type: String,
                        default: "middle"
                    },
                    iconClass: {
                        type: String,
                        default: ""
                    },
                    canClose: {
                        type: Boolean,
                        default: !1
                    }
                },
                data: function () {
                    return {
                        visible: !1
                    }
                },
                computed: {
                    customClass: function () {
                        var t = [];
                        switch (this.position) {
                            case "top":
                                t.push("is-placetop");
                                break;
                            case "bottom":
                                t.push("is-placebottom");
                                break;
                            case "verify":
                                t.push("is-placeverify");
                                break;
                            default:
                                t.push("is-placemiddle")
                        }
                        return t.push(this.className), t.join(" ")
                    }
                },
                methods: {
                    close: function () {
                        this.$yytmToast.close()
                    }
                }
            }),
            d = {
                instance: null,
                show: function (t) {
                    function e(t) {
                        t.target.parentNode && t.target.parentNode.removeChild(t.target)
                    }

                    d.close();
                    var i = [],
                        a = t.duration || 3e3;
                    "verify" == t.position && (a = 9999999);
                    var n = function () {
                        if (i.length > 0) {
                            var t = i[0];
                            return i.splice(0, 1), t
                        }
                        return new l({
                            el: document.createElement("div")
                        })
                    }();
                    return this._close = function () {
                        n.visible = !1, n.$el.addEventListener("transitionend", e), n.closed = !0
                    }, n.closed = !1, clearTimeout(n.timer), n.message = "string" == typeof t ? t : t.message, n.position = t.position || "middle", n.className = t.className || "", n.iconClass = t.iconClass || "", document.body.appendChild(n.$el), Vue.nextTick(function () {
                        n.visible = !0, n.$el.removeEventListener("transitionend", e), ~a && (n.timer = setTimeout(function () {
                            n.closed || n._close()
                        }, a))
                    }), d.instance = this, n
                },
                close: function () {
                    d.instance && d.instance._close()
                }
            };
        Vue.prototype.$yytmToast = d, Uft.namespace("YytmBillHDL"), YytmBillHDL = function (t) {
            for (var e = [new YytmCardHDL, new YytmListHDL], i = 0; i < e.length; i++) Uft.apply(this, e[i]);
            if (t)
                for (var i = 0; i < t.length; i++) Uft.apply(this, t[i])
        }, YytmBillHDL.prototype = {
            getListButtons: function (t) {
                return [{
                    id: "btn_add",
                    isFloat: !0,
                    icon: "icon_add",
                    handler: function () {
                        t.add()
                    }
                }, {
                    id: "btn_add",
                    name: "新增",
                    handler: function () {
                        t.add()
                    }
                }]
            },
            getExtraBillInfo: function (t, e) {
                return {
                    billType: e["pk_billtype"]
                }
            },
            closeBillWindow: function (t) {
                YC.Window.closeWindow()
            },
            beforeCardBack: function (t) {
                return !0
            },
            beforeFilterItemShow: function (t, e) {
                return !0
            },
            afterFilterItemChange: function (t, e) {
                return !0
            }
        }, Uft.namespace("YytmCardHDL"), YytmCardHDL = function () {
            this.isCardValueChanged = !1
        }, YytmCardHDL.prototype = {
            beforeHeadEdit: function (t, e) {
                return !0
            },
            afterHeadEdit: function (t, e) {
                t.$emit("after-head-edit", e)
            },
            beforeBodyEdit: function (t, e) {
                return !0
            },
            afterBodyEdit: function (t, e) {
            },
            getCardTemplate: function (t, e, i) {
                YC.Utils.getYytmComponentConfig(e, i)
            },
            getCardData: function (t, e, i) {
                YC.Utils.getYytmComponentConfig(e, i)
            },
            getCardRefBillData: function (t, e, i) {
                YC.Utils.getYytmComponentConfig(e, i)
            },
            getCardDefaultValue: function (t, e) {
                t.getCardDefaultValue(e)
            },
            beforeOnEdit: function (t, e) {
                return !0
            },
            afterOnEdit: function (t, e) {
            },
            beforeSave: function (t) {
                return t.checkMustEdit()
            },
            afterSave: function () {
            },
            beforeDelete: function (t, e) {
                return !0
            },
            afterDelete: function (t, e) {
            },
            beforeCommit: function (t, e) {
                return !0
            },
            afterCommit: function (t, e) {
            },
            beforeUnCommit: function (t, e) {
                return !0
            },
            afterUnCommit: function (t, e) {
            },
            beforeReject: function (t, e) {
                return !0
            },
            afterReject: function (t, e) {
            },
            beforeApprove: function (t, e) {
                return !0
            },
            afterApprove: function (t, e) {
            },
            beforeUnApprove: function (t, e) {
                return !0
            },
            afterUnApprove: function (t, e) {
            },
            isButtonShow: function (t, e, i) {
                return !0
            },
            initCardBodyDataWhenAdd: function (t, e, i) {
                t.$set(t.cardData.data.BODY, e, i)
            },
            _cardUtils: null,
            getCardUtils: function () {
                return this._cardUtils ? this._cardUtils : (this._cardUtils = YytmCardUtils, this._cardUtils)
            },
            btn_row_del_handler: function (t, e) {
                this.isCardValueChanged = !0
            },
            btn_row_add_handler: function (t, e, i) {
                for (var a in e.items) {
                    var n = e.items[a];
                    n.datatype == t.DataType.DATE && n.isShow && !i[n.itemkey] && (i[n.itemkey] = null)
                }
                t.cardData.data.BODY[e.tabCode].push(i), this.isCardValueChanged = !0
            },
            btn_row_copy_handler: function (t, e, i, a) {
                for (var n in e.items) {
                    var o = e.items[n];
                    o.datatype == t.DataType.DATE && o.isShow && !i[o.itemkey] && (i[o.itemkey] = null)
                }
                var s = t.handler.getNoCopyFields(t, e);
                t.handler.cleanNoCopyVaule(t, i, s), t.cardData.data.BODY[e.tabCode].splice(a + 1, 0, i), t.handler.isCardValueChanged = !0
            },
            cleanNoCopyVaule: function (t, e, i) {
                if (e[t.cardData.template.billBodyField] = null, e["ts"] = null, i && i.length > 0)
                    for (var a = 0; a < i.length; a++) e[i[a]] = null
            },
            getNoCopyFields: function (t, e) {
                return null
            },
            onCardComponentLoad: function (t) {
            },
            getCardTodoButtonDefine: function (t) {
                return {
                    btn_todo_approve: {
                        id: "btn_todo_approve",
                        text: "批准",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.COMMIT, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_todo_approve_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_todo_disapprove: {
                        id: "btn_todo_disapprove",
                        text: "不批准",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.COMMIT, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_todo_disapprove_handler,
                        className: "ng-btn btn-link"
                    },
                    btn_todo_reject: {
                        id: "btn_todo_reject",
                        text: "驳回",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.COMMIT, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_todo_reject_handler,
                        className: "ng-btn btn-link"
                    },
                    btn_todo_unapprove: {
                        id: "btn_todo_unapprove",
                        text: "弃审",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.CHECKPASS, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_todo_unapprove_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_edit: {
                        id: "btn_edit",
                        text: "编辑",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.FREE, Vue.prototype.bizStatus.COMMIT, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_edit_handler,
                        className: "ng-btn btn-info"
                    },
                    btn_save: {
                        id: "btn_save",
                        text: "保存",
                        enabledStatus: [Vue.prototype.pageStatus.OP_EDIT, Vue.prototype.pageStatus.OP_ADD, Vue.prototype.pageStatus.OP_REFADD_CARD],
                        enabledBizStatus: "ALL",
                        handler: this.btn_save_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_cancle: {
                        id: "btn_cancle",
                        text: "取消",
                        enabledStatus: [Vue.prototype.pageStatus.OP_EDIT, Vue.prototype.pageStatus.OP_ADD, Vue.prototype.pageStatus.OP_REFADD_CARD],
                        enabledBizStatus: "ALL",
                        handler: this.btn_cancle_handler,
                        className: "ng-btn btn-link"
                    }
                }
            },
            getCardButtonDefine: function (t) {
                return {
                    btn_add: {
                        id: "btn_add",
                        text: "新增",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: "ALL",
                        handler: this.btn_add_handler,
                        className: "ng-btn btn-link"
                    },
                    btn_save: {
                        id: "btn_save",
                        text: "保存",
                        enabledStatus: [Vue.prototype.pageStatus.OP_EDIT, Vue.prototype.pageStatus.OP_ADD, Vue.prototype.pageStatus.OP_REFADD_CARD],
                        enabledBizStatus: "ALL",
                        handler: this.btn_save_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_cancle: {
                        id: "btn_cancle",
                        text: "取消",
                        enabledStatus: [Vue.prototype.pageStatus.OP_EDIT, Vue.prototype.pageStatus.OP_ADD, Vue.prototype.pageStatus.OP_REFADD_CARD],
                        enabledBizStatus: "ALL",
                        handler: this.btn_cancle_handler,
                        className: "ng-btn btn-link"
                    },
                    btn_delete: {
                        id: "btn_delete",
                        text: "删除",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.FREE],
                        handler: this.btn_delete_handler,
                        className: "ng-btn btn-link"
                    },
                    btn_edit: {
                        id: "btn_edit",
                        text: "编辑",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.FREE],
                        handler: this.btn_edit_handler,
                        className: "ng-btn btn-info"
                    },
                    btn_commit: {
                        id: "btn_commit",
                        text: "提交",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.FREE],
                        handler: this.btn_commit_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_uncommit: {
                        id: "btn_uncommit",
                        text: "反提交",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.COMMIT],
                        handler: this.btn_uncommit_handler,
                        className: "ng-btn btn-warning"
                    },
                    btn_approve: {
                        id: "btn_approve",
                        text: "审核",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.COMMIT, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_approve_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_unapprove: {
                        id: "btn_unapprove",
                        text: "弃审",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.CHECKPASS, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_unapprove_handler,
                        className: "ng-btn btn-success"
                    },
                    btn_copy: {
                        id: "btn_copy",
                        text: "复制",
                        enabledStatus: [Vue.prototype.pageStatus.OP_NOTEDIT_CARD],
                        enabledBizStatus: [Vue.prototype.bizStatus.FREE, Vue.prototype.bizStatus.CHECKPASS, Vue.prototype.bizStatus.CHECKGOING],
                        handler: this.btn_copy_handler,
                        className: "ng-btn btn-success"
                    }
                }
            },
            btn_save_handler: function (t) {
                var e = function (e) {
                    if (e.invocationResult.success) {
                        t.$indicator.close(), t.$toast({
                            message: "保存成功！",
                            iconClass: "mintui mintui-success",
                            duration: 1e3
                        }), t.config.mode = t.pageStatus.OP_NOTEDIT_CARD, t.disposeCardData(e.invocationResult.data);
                        var i = e.invocationResult.data.HEADER,
                            a = e.invocationResult.data.BODY;
                        t.$set(t.cardData.data, "HEADER", i);
                        for (var n in a) t.$set(t.cardData.data.BODY, n, a[n]);
                        t.$set(t.config, "billId", i[t.config.billIdField]), t.$set(t.cardDelData, "BODY", {}), t.handler.afterSave(t);
                        var o = {
                            HEADER: e.invocationResult.data.HEADER,
                            BODY: e.invocationResult.data.BODY
                        };
                        if (t.$emit("after-save", o), t.$data.refBillKey) {
                            var s = t.$data.refBillCaches[t.$data.refBillKey];
                            t.$set(s, "pageStatus", t.pageStatus.OP_NOTEDIT_CARD), t.$set(s, "data", o), t.$set(s, "cardDelData", t.cardDelData)
                        }
                    }
                    t.loadWorkFlowHistory(t.config.billId, t.config.billType)
                };
                setTimeout(function () {
                    if (t.checkAttachmentUpload() && t.handler.beforeSave(t)) {
                        for (var i = [], a = 0; a < t.$data.attachments.length; a++) {
                            var n = t.$data.attachments[a];
                            if (n.isNew) {
                                var o = YC.Utils.clone(n);
                                o.src = null, o.msrc = null, i.push(o)
                            }
                        }
                        for (var a = 0; a < t.$data.bodyAttachments.length; a++) {
                            var n = t.$data.bodyAttachments[a];
                            if (n.isNew) {
                                var o = YC.Utils.clone(n);
                                o.src = null, o.msrc = null, i.push(o)
                            }
                        }
                        t.hideAttachments && (i = i.concat(t.hideAttachments));
                        var s = {
                            APP_POST_DATA: t.getCardData(),
                            templateID: t.cardData.template.TEMPLATEID,
                            funCode: t.config.funCode,
                            nodeKey: void 0 !== t.config.nodeKey && null != t.config.nodeKey ? t.config.nodeKey : "MOBILE_EDIT",
                            billIdField: t.config.billIdField,
                            attachmentInfo: i
                        };
                        t.$indicator.open("保存中..."), YC.Utils.invokeBusinessProcedure(t.config.location + "/mobileSave.mjson", s, e)
                    }
                }, 100)
            },
            btn_cancle_handler: function (t) {
                t.config.mode == t.pageStatus.OP_EDIT && (t.$set(t.$data, "cardData", t._beforeEditData), t.config.mode = t.pageStatus.OP_NOTEDIT_CARD), t.config.mode == t.pageStatus.OP_ADD && t.$emit("cardback"), t.config.mode == t.pageStatus.OP_REFADD_CARD && t.afterCancelOrDelRefBill()
            },
            btn_edit_handler: function (t) {
                var e = YC.Utils.clone(t.$data.cardData);
                t._beforeEditData = e;
                var i = {
                    cardData: t.$data.cardData
                };
                t.handler.beforeOnEdit(t, i) && t.$set(t.config, "mode", t.pageStatus.OP_EDIT), t.handler.afterOnEdit(t, i)
            },
            btn_delete_handler: function (t) {
                t.$messagebox.confirm("", {
                    message: "是否确定删除？",
                    title: "提示",
                    confirmButtonText: "删除",
                    cancelButtonText: "取消"
                }).then(function (e) {
                    "confirm" == e && t.handler.deleteAction(t)
                })
            },
            btn_add_handler: function (t) {
                t.config.mode = t.pageStatus.OP_ADD
            },
            btn_commit_handler: function (t) {
                function e(e) {
                    YC.Utils.invokeBusinessProcedure(t.config.location + "/_getAssignInfo.mjson", e, function (a) {
                        var n = a.invocationResult.datas;
                        e.imobilesignctrl = a.invocationResult.imobilesignctrl, n && n.length > 0 ? t.showPopConfirm(n, e, i) : i(e)
                    })
                }

                function i(e) {
                    var i = function (e) {
                            if (t.$indicator.close(), e.invocationResult.success) {
                                t.$toast({
                                    message: "提交成功！",
                                    iconClass: "mintui mintui-success",
                                    duration: 1500
                                }), t.disposeCardData(e.invocationResult.datas[0]);
                                var i = e.invocationResult.datas[0].HEADER;
                                t.$set(t.cardData.data, "HEADER", i), t.handler.afterCommit(t, {
                                    cardData: t.cardData
                                })
                            }
                            t.$emit("after-commit", t.cardData.data), t.loadWorkFlowHistory(t.config.billId, t.config.billType)
                        },
                        a = function (a) {
                            YC.Utils.invokeBusinessProcedure(t.config.location + "/mobileCommit.mjson", e, i)
                        },
                        n = e.imobilesignctrl;
                    n && 0 != n ? (t.$indicator.close(), t.$set(t.$data, "showJsignature", !0), t.$set(t.$data, "jsignatureParams", e), t.$set(t.$data, "jsignatureCallback", a), t.$set(t.$data, "jsignatureCtrlStatus", n)) : a()
                }

                var a = {
                        billId: t.$props.config.billId,
                        funCode: t.$props.config.funCode,
                        nodeKey: t.$props.config.nodeKey,
                        billType: t.$props.config.billType
                    },
                    n = {
                        cardData: t.cardData
                    };
                t.handler.beforeCommit(t, n) && (t.$indicator.open("提交中..."), YC.Utils.invokeBusinessProcedure(t.config.location + "/getWorkflowDef.mjson", a, function (i) {
                    var n = i.invocationResult.data;
                    n && n.length > 1 ? (t.$indicator.close(), t.$toast({
                        message: "暂不支持单据配置多流程!",
                        iconClass: "mintui mintui-success",
                        duration: 1500
                    })) : e(a)
                }))
            },
            btn_copy_handler: function (t) {
                var e = {
                    billId: t.$props.config.billId,
                    funCode: t.$props.config.funCode,
                    nodeKey: t.$props.config.nodeKey,
                    billType: t.$props.config.billType
                };
                YC.Utils.invokeBusinessProcedure(t.config.location + "/copyMobileCardData.mjson", e, function (e) {
                    if (e.invocationResult.success) {
                        var i = YC.Utils.getFuncByNcCode(t.config.funCode),
                            a = "";
                        i ? a = i.location : (a = window.location.href.substring(window.location.href.indexOf("/apps/") + 1, window.location.href.indexOf("?")), a += "?UFT_CURRENT_BUSINESS_ADAPTER=" + YC.Utils.getCurrentAdapter()), YC.Window.openWindow(a, {
                            title: ""
                        }, function () {
                        }, {
                            copyBillId: t.$props.config.billId,
                            defaultShowComponent: "card",
                            pageStatus: t.pageStatus.OP_ADD
                        })
                    }
                })
            },
            btn_uncommit_handler: function (t) {
                var e = {
                        billId: t.$props.config.billId,
                        funCode: t.$props.config.funCode,
                        nodeKey: t.$props.config.nodeKey,
                        billType: t.$props.config.billType
                    },
                    i = function (e) {
                        if (t.$indicator.close(), e.invocationResult.success) {
                            t.$toast({
                                message: "反提交成功！",
                                iconClass: "mintui mintui-success",
                                duration: 1500
                            }), t.disposeCardData(e.invocationResult.datas[0]);
                            var i = e.invocationResult.datas[0].HEADER;
                            t.$set(t.cardData.data, "HEADER", i), t.handler.afterUnCommit(t, {
                                cardData: t.cardData
                            })
                        } else t.$messagebox.alert(e.invocationResult.msg, "反提交失败！");
                        t.$emit("after-uncommit", t.cardData.data), t.loadWorkFlowHistory(t.config.billId, t.config.billType)
                    },
                    a = {
                        cardData: t.cardData
                    };
                t.handler.beforeUnCommit(t, a) && (t.$indicator.open("反提交中..."), YC.Utils.invokeBusinessProcedure(t.config.location + "/mobileUnCommit.mjson", e, i))
            },
            btn_unapprove_handler: function (t) {
                var e = {
                        billId: t.$props.config.billId,
                        funCode: t.$props.config.funCode,
                        nodeKey: t.$props.config.nodeKey,
                        billType: t.$props.config.billType
                    },
                    i = function (e) {
                        if (t.$indicator.close(), e.invocationResult.success) {
                            t.$toast({
                                message: "弃审成功！",
                                iconClass: "mintui mintui-success",
                                duration: 1500
                            }), t.disposeCardData(e.invocationResult.datas[0]);
                            var i = e.invocationResult.datas[0].HEADER;
                            e.invocationResult.datas[0].BODY;
                            t.$set(t.cardData.data, "HEADER", i), t.handler.afterUnApprove(t, {
                                cardData: t.cardData
                            })
                        } else t.$messagebox.alert(e.invocationResult.msg, "弃审失败！");
                        t.$emit("after-unapprove", t.cardData.data), t.loadWorkFlowHistory(t.config.billId, t.config.billType)
                    },
                    a = {
                        cardData: t.cardData
                    };
                t.handler.beforeUnApprove(t, a) && (t.$indicator.open("弃审中..."), YC.Utils.invokeBusinessProcedure(t.config.location + "/mobileUnApprove.mjson", e, i))
            },
            btn_approve_handler: function (t) {
                var e = {
                        billId: t.$props.config.billId
                    },
                    i = {
                        cardData: t.cardData
                    },
                    a = function (e) {
                        if (t.$indicator.close(), e.invocationResult.success) {
                            t.$messagebox.alert("审核成功！", "提示"), t.disposeCardData(e.invocationResult.datas[0]);
                            var a = e.invocationResult.datas[0].HEADER;
                            t.$set(t.cardData.data, "HEADER", a), t.handler.afterApprove(t, {
                                cardData: i
                            })
                        }
                    };
                t.handler.beforeApprove(t, i) && (t.$indicator.open("审核中..."), YC.Utils.invokeBusinessProcedure(t.config.location + "/mobileApprove.mjson", e, a))
            },
            btn_todo_approve_handler: function (t) {
                t.handler.approveTodoAction(t, "Y")
            },
            btn_todo_disapprove_handler: function (t) {
                t.handler.approveTodoAction(t, "N")
            },
            btn_todo_reject_handler: function (t) {
                t.handler.approveTodoAction(t, "R")
            },
            btn_todo_unapprove_handler: function (t) {
                if (t.$data.workFlowHistory && t.$data.workFlowHistory.length >= 1) {
                    var e = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO),
                        i = (JSON.parse(e), YC.Utils.getUrlParam(window.href, "todoId"));
                    t.$messagebox.confirm("", {
                        message: "是否确定弃审？",
                        title: "提示",
                        confirmButtonText: "确定",
                        cancelButtonText: "取消"
                    }).then(function (e) {
                        "confirm" == e && YC.Utils.approveTodo(i, "U", "", t.cardData.data.HEADER.ts, null, null, null, function (t) {
                            YC.Utils.isWEIXIN() && YC.Utils.CloseCurrentWindow(), YC.Utils.isJSYCPortal() && uexWindow.close(-1), YC.Utils.isMobile() && YC.Window.closeWindow()
                        })
                    })
                } else t.$messagebox.alert("当前单据不能弃审", "弃审失败！")
            },
            approveTodoAction: function (t, e) {
                if (t.$data.workFlowHistory && t.$data.workFlowHistory.length > 0) {
                    for (var i = YC.LocalStorage.getValue(YC.AppProperty.UFT_USER_INFO), a = JSON.parse(i), n = 0; n < t.$data.workFlowHistory.length; n++) {
                        var o = t.$data.workFlowHistory[n];
                        "未审批" == o.status && o.checkman == a.cuserid && !0
                    }
                    var s = YC.Utils.getUrlParam(window.href, "todoId"),
                        r = t.config.billId,
                        l = t.cardData.data.HEADER.ts,
                        d = t.cardData.template.iMobileSignCtrl,
                        c = {
                            approve_result: e,
                            ts: encodeURI(l),
                            isCanAssign: null,
                            assignPersons: null,
                            currentPostCondition: null,
                            todoId: s,
                            id: r,
                            isWorkFlowMustAssign: null,
                            iMobileSignCtrl: d
                        },
                        u = t.handler.getTodoActionConfig();
                    if (u)
                        for (var p in u) c[p] = u[p];
                    YC.Window.openWindow("apps/com.uftobacco.todo/approve_index.html", {
                        title: ""
                    }, function () {
                        t.loadWorkFlowHistory(r, t.config.billType), t.loadWorkFlowInfo(s, function (e) {
                            t.initCardButton()
                        }), t.getCardTemplateAndData()
                    }, c)
                } else t.$messagebox.alert("当前单据不能进行审核", "审核失败！")
            },
            getTodoActionConfig: function (t) {
                return {
                    afterActionPage: "card"
                }
            },
            deleteAction: function (t) {
                var e = t.$props.config,
                    i = {
                        billId: e.billId,
                        funCode: e.funCode,
                        nodeKey: e.nodeKey,
                        billType: e.billType
                    },
                    a = function () {
                        t.$indicator.close(), t.handler.afterDelete(), 1 == t.$props.config.isRef || "true" == t.$props.config.isRef ? t.afterCancelOrDelRefBill() : t.$emit("after-delete", t.$props.config.billId)
                    };
                t.$indicator.open("删除中..."), YC.Utils.invokeBusinessProcedure(t.config.location + "/mobileDelete.mjson", i, a)
            },
            shouldBodyDeleteBtnShow: function (t, e, i, a) {
                return isRowDelBtnShow = !0, 0 == t.isRowDelBtnShow && (isRowDelBtnShow = !1), i.length > 1 && (t.mode == Vue.prototype.pageStatus.OP_EDIT || t.mode == Vue.prototype.pageStatus.OP_ADD || t.mode == Vue.prototype.pageStatus.OP_HALFEDIT_CARD || t.mode == Vue.prototype.pageStatus.OP_REFADD_CARD) && isRowDelBtnShow
            },
            shouldBodyEditBtnShow: function (t, e, i, a) {
                return t.mode == Vue.prototype.pageStatus.OP_EDIT || t.mode == Vue.prototype.pageStatus.OP_ADD || t.mode == Vue.prototype.pageStatus.OP_HALFEDIT_CARD || t.mode == Vue.prototype.pageStatus.OP_REFADD_CARD
            },
            shouldBodyCopyBtnShow: function (t, e, i, a) {
                return t.mode == Vue.prototype.pageStatus.OP_EDIT || t.mode == Vue.prototype.pageStatus.OP_ADD || t.mode == Vue.prototype.pageStatus.OP_HALFEDIT_CARD || t.mode == Vue.prototype.pageStatus.OP_REFADD_CARD
            },
            shouldBodyFieldShow: function (t, e, i, a, n) {
                return !!i.isGroup || i.isShow
            },
            onBodyShowItemClick: function (t, e, i, a) {
            },
            onBodyTitleClick: function (t, e) {
            },
            getBodyTitleHtml: function (t, e, i) {
                return t.tabName + "<span class='ico-account'>(" + (i + 1) + ")</span>"
            },
            onBodyAttachmentChange: function (t, e, i) {
            },
            isBodyRecordShow: function (t, e, i) {
                return !0
            },
            isBodyRowNumShow: function (t, e) {
                return !0
            },
            getFormulaIgnoreFields: function () {
                return []
            },
            isBodyAddButtonShow: function (t, e, i) {
                return (e.mode == t.pageStatus.OP_EDIT || e.mode == t.pageStatus.OP_ADD) && i
            },
            processBillAfterRef: function (t, e) {
            }
        }, Uft.namespace("YytmListHDL"), YytmListHDL = function () {
        }, YytmListHDL.prototype = {
            onListItemClick: function (t, e) {
                return !0
            },
            onButtonClick: function (t, e) {
            },
            loadListTemplate: function (t, e, i) {
                var a = t.config.params;
                if (e)
                    for (var n in e) a[n] = e[n];
                a.nodeKey || (a.nodeKey = "MOBILE_EDIT"), a.templateID = t.$data.templateId, a.tabCode = "FOOT,HEAD,BODY";
                var o = {
                    dataUrl: null,
                    isLoadData: !1,
                    templateUrl: "/webbd-webapp/component/getListComponentTemplate.mjson",
                    isLoadTemplate: !0,
                    params: a
                };
                YC.Utils.getYytmComponentConfig(o, i)
            },
            loadListData: function (t, e, i) {
                var a = t.config.params;
                if (a["billId"] = null, e)
                    for (var n in e) a[n] = e[n];
                if (a.nodeKey || (a.nodeKey = "MOBILE_EDIT"), t.searchParams)
                    for (var n in t.searchParams) a[n] = t.searchParams[n];
                a.PAGE_PARAM_START = t.startIndex, a.PAGE_PARAM_LIMIT = t.pageSize, a["doQuery"] = "Y", a.tabCode = "FOOT,HEAD,BODY", t.pubParams && (a.PUB_PARAMS = t.pubParams);
                var o = {
                    dataUrl: t.config.dataUrl,
                    isLoadData: !0,
                    templateUrl: "/webbd-webapp/component/getListComponentTemplate.mjson",
                    isLoadTemplate: !1,
                    params: a
                };
                YC.Utils.getYytmComponentConfig(o, i)
            },
            getBillListCountTip: function (t, e) {
                var i = "";
                e && e.totalRecords && (i = '共<span style="color:red;">' + e.totalRecords + "</span>条记录"), t.$set(t.$data, "tipContent", i)
            }
        }, YytmCardUtils = {
            setRefParams: function (t, e, i, a, n) {
                for (var o = 0; o < e.items.length; o++)
                    if (e.items[o].itemkey == i) {
                        var s = e.items[o];
                        s._refParams || (s._refParams = {}), s._refParams[a] = n
                    }
            },
            setFieldRefParams: function (t, e, i, a) {
                e._refParams || (e._refParams = {}), e._refParams[i] = a
            },
            setRefParamsMap: function (t, e, i, a) {
                for (var n = 0; n < e.items.length; n++)
                    if (e.items[n].itemkey == i) {
                        var o = e.items[n];
                        o._refParams || (o._refParams = {});
                        for (var s in a) o._refParams[s] = a[s]
                    }
            },
            setFieldRefParamsMap: function (t, e, i) {
                e._refParams || (e._refParams = {});
                for (var a in i) e._refParams[a] = i[a]
            },
            setRefLeftTreeParamsMap: function (t, e, i, a) {
                for (var n = 0; n < e.items.length; n++) {
                    var o = e.items[n];
                    if (o.isGroup)
                        for (var s = 0; s < o.items.length; s++) {
                            var r = o.items[s];
                            if (r.itemkey == i) {
                                r._refLeftTreeParams || (r._refLeftTreeParams = {});
                                for (var l in a) r._refLeftTreeParams[l] = a[l]
                            }
                        } else if (o.itemkey == i) {
                        o._refLeftTreeParams || (o._refLeftTreeParams = {});
                        for (var l in a) o._refLeftTreeParams[l] = a[l]
                    }
                }
            },
            setFieldRefLeftTreeParamsMap: function (t, e, i) {
                e._refLeftTreeParams || (e._refLeftTreeParams = {});
                for (var a in i) e._refLeftTreeParams[a] = i[a]
            },
            getCardTemplate: function (t, e) {
                if (e) {
                    for (var i in t.cardData.template.BODY)
                        if (e == i) return t.cardData.template.BODY[e]
                } else
                    for (var i in t.cardData.template.HEADER) return t.cardData.template.HEADER[i]
            },
            getHeadField: function (t, e) {
                var i = t.$data.cardData.template.HEADER;
                if (null == i || void 0 == i) return null;
                var a;
                for (var n in i) {
                    var o = i[n].items;
                    if (null == a || void 0 == a)
                        for (var s = 0; s < o.length; s++)
                            if (null != o[s] && void 0 != o[s] && e == o[s].itemkey) {
                                a = o[s];
                                break
                            }
                }
                return a
            },
            getBodyField: function (t, e, i) {
                var a;
                if (null == i || void 0 == i) {
                    a = [];
                    var n = t.$data.cardData.template.BODY;
                    if (null != n && void 0 != n)
                        for (var o in n) a = a.concat(t.$data.cardData.template.BODY[o].items)
                } else a = t.$data.cardData.template.BODY[i].items;
                if (null == a || void 0 == a || 0 == a.length) return null;
                for (var s, r = 0; r < a.length; r++)
                    if (null != a[r] && void 0 != a[r]) {
                        if (e == a[r].itemkey) {
                            s = a[r];
                            break
                        }
                        if (a[r].isGroup)
                            for (var l = 0; l < a[r].items.length; l++)
                                if (e == a[r].items[l].itemkey) {
                                    s = a[r].items[l];
                                    break
                                }
                    }
                return s
            },
            getHeadFieldValue: function (t, e) {
                var i, a = t.$data.cardData.data.HEADER;
                return null != a && void 0 != a && (i = a[e]) && "object" == typeof i ? i.pk : i
            },
            getBodyFieldValue: function (t, e, i) {
                var a;
                return null != e && void 0 != e && (a = e[i]), a
            },
            getBodyData: function (t, e) {
                var i;
                if (e) i = t.$data.cardData.data.BODY[e];
                else {
                    var a = Object.keys(t.$data.cardData.data.BODY);
                    i = t.$data.cardData.data.BODY[a[0]]
                }
                return i
            },
            getBodyColumnSumValue: function (t, e, i) {
                var a = this.getBodyData(t, e),
                    n = 0;
                if (a)
                    for (var o = 0; o < a.length; o++) {
                        var s = a[o][i] ? a[o][i] : 0;
                        n += Number(s)
                    }
                return n
            },
            setHeadFieldValue: function (t, e, i) {
                var a = t.$data.cardData.data.HEADER;
                null != a && void 0 != a && t.$set(a, e, i)
            },
            setBodyFieldValue: function (t, e, i, a) {
                null != e && void 0 != e && (t.$set(e, i, a), e["isNew"] || (e["isUpdate"] = !0))
            },
            newParams: function () {
                var t = {};
                return t["templateID"] = vm.$data.cardData.template.TEMPLATEID, t["funCode"] = vm.$props.config.funCode, t["nodeKey"] = void 0 !== vm.$props.config.nodeKey && null != vm.config.nodeKey ? vm.config.nodeKey : "MOBILE_EDIT", t["billType"] = vm.$props.config.billType, t["billId"] = vm.$props.config.billId, t["tabCode"] = vm.$data.cardData.template.headerTabCode, t["headerTabCode"] = vm.$data.cardData.template.headerTabCode, t["bodyTabCode"] = vm.$data.cardData.template.bodyTabCode, t
            },
            setBtnRowAddShow: function (t, e) {
                t.$set(t.$data, "isRowAddShow", e)
            },
            setBtnRowDelShow: function (t, e) {
                t.$set(t.$data, "isRowDelShow", e)
            },
            setCardAttachmentInfos: function (t, e) {
                t.disposeAttachmentInfos(e, t.$data.cardData.data)
            },
            setCardData: function (t, e, i) {
                var a = YC.Utils.clone(e);
                if (t.disposeCardData(a), !i)
                    for (var n in a.BODY)
                        for (var o = a.BODY[n], s = 0; s < o.length; s++) o[s].isNew = !0;
                a.BODY && t.$set(t.cardData, "data.BODY", a.BODY), a.HEADER && t.$set(t.cardData, "data.HEADER", a.HEADER)
            },
            genDefHtml: function (t, e) {
                var i = this;
                if (!t) return "";
                for (var a = t, n = [], o = !1; !o;) {
                    var s = a.indexOf("{{"),
                        r = a.indexOf("}}");
                    if (s < 0 || r < 0) o = !0;
                    else {
                        var l = a.substring(s + 2, r);
                        n.push(l), a = a.substring(0, s) + a.substring(r + 2)
                    }
                }
                for (var d = 0; d < n.length; d++) t = e[n[d]] || 0 == e[n[d]] ? t.replace("{{" + n[d] + "}}", i.processShowValue(e, i.itemTemplateMap[n[d]])) : t.replace("{{" + n[d] + "}}", "");
                return t
            },
            refreshBodyRecord: function (t) {
                void 0 != t.bodyRefreshFlag && (t.bodyRefreshFlag = !t.bodyRefreshFlag)
            },
            setHeadFieldStatus: function (t, e, i) {
                var a = this.getHeadField(t, e);
                t.$set(a, "_busiStatus", i)
            },
            setBodyFieldStatus: function (t, e, i, a, n) {
                var o = this.getBodyField(t, e, i);
                t.$set(o, "_busiStatus", n);
                var s = o._statusIds;
                s ? s.contains(a) || s.push(a) : t.$set(o, "_busiStatusIds", [a])
            }
        }
    }, function (t, e, i) {
        "use strict";
        Vue.yytmChecklist = {
            template: "<div><mt-checklist :title='title' :options='checklistOptions' v-model='checklistValue' :align='align' :max='max'></mt-checklist></div>",
            props: {
                title: String,
                options: Array,
                value: Array,
                max: Number,
                align: String,
                disabled: Boolean,
                "label-key": String,
                "value-key": String,
                "disabled-key": String
            },
            data: function () {
                return {
                    checklistValue: [],
                    checklistOptions: []
                }
            },
            watch: {
                value: {
                    handler: function (t, e) {
                        Vue.set(this.$data, "checklistValue", this.$props.value)
                    },
                    immediate: !0
                },
                checklistValue: {
                    handler: function (t, e) {
                        this.$emit("change", this.getValue())
                    },
                    immediate: !0
                }
            },
            created: function () {
                Vue.set(this.$data, "checklistOptions", this.initOptions())
            },
            mounted: function () {
            },
            methods: {
                getValue: function () {
                    return this.$data.checklistValue
                },
                initOptions: function () {
                    var t = this,
                        e = new Array,
                        i = t.$props.labelKey ? t.$props.labelKey.trim() : null,
                        a = (t.$props.valueKey && t.$props.valueKey.trim(), t.$props.disabledKey ? t.$props.disabledKey.trim() : null);
                    if (t.$props.options && t.$props.options.length > 0)
                        for (var n = 0; n < t.$props.options.length; n++) e[n] = new Object, i ? (e[n]["label"] = t.$props.options[n][i], e[n]["value"] = t.$props.options[n][i]) : (e[n]["label"] = t.$props.options[n]["label"], e[n]["value"] = t.$props.options[n]["label"]), e[n]["disabled"] = a ? t.$props.options[n][a] : t.$props.options[n]["disabled"], t.$props.disabled && (e[n]["disabled"] = t.$props.disabled);
                    return e
                }
            }
        }, Vue.component("yytm-checklist", Vue.yytmChecklist)
    }, function (t, e, i) {
        "use strict";
        Vue.yytmSwitch = {
            template: "<div><mt-switch v-model='switchValue' @change='onChangeVal'></mt-switch></div>",
            props: {
                off: String,
                on: String,
                value: String
            },
            data: function () {
                return {
                    switchValue: !1
                }
            },
            watch: {
                value: {
                    handler: function (t, e) {
                        if (void 0 !== this.$props.value) try {
                            var i = null;
                            i = this.$props.on && this.$props.off ? this.$props.value == this.$props.on : this.$props.value, Vue.set(this.$data, "switchValue", i)
                        } catch (t) {
                            console.log("yytm-switch value值异常", t)
                        }
                    },
                    immediate: !0
                }
            },
            created: function () {
            },
            mounted: function () {
            },
            methods: {
                onChangeVal: function (t) {
                    this.$emit("change", this.getValue())
                },
                getValue: function () {
                    var t = null;
                    return !0 === this.$data.switchValue && this.$props.on && (t = this.$props.on), !1 === this.$data.switchValue && this.$props.off && (t = this.$props.off), t || this.$data.switchValue
                }
            }
        }, Vue.component("yytm-switch", Vue.yytmSwitch)
    }, function (t, e, i) {
        "use strict";
        var a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        };
        Vue.component("yytm-base-radio", {
            template: '<div class="mint-radiolist" @change="$emit(\'change\', currentValue, currentDesc)"><label class="mint-radiolist-title" v-text="title"></label><mt-cell v-for="option in options"><label class="mint-radiolist-label" :class="option.isDescMust?\'isrequire\':\'\'" slot="title"><span :class="{\'is-right\': align === \'right\'}" class="mint-radio"><input class="mint-radio-input" type="radio" v-model="currentValue" :disabled="option.disabled" :value="option.value || option"><span class="mint-radio-core"></span></span><span class="mint-radio-label"  v-text="option.label || option"></span><input :disabled="option.disabled" v-if="option.showDesc" type="text" :value="option.desc" v-model="option.desc" @change="onInputChanged(option)" @click="onDescInputClick(option)"/></label></mt-cell></div>',
            props: {
                title: String,
                align: String,
                options: {
                    type: Array,
                    required: !0
                },
                value: String,
                desc: String
            },
            data: function () {
                return {
                    currentValue: this.value,
                    currentDesc: this.desc
                }
            },
            watch: {
                value: function (t) {
                    this.currentValue = t
                },
                currentValue: function (t) {
                    for (var e = 0; e < this.options.length; e++) {
                        var i = this.options[e];
                        i.value == this.currentValue ? (i.desc = i.descCache, this.currentDesc = i.desc) : i.desc = ""
                    }
                    this.$emit("change", t, this.currentDesc)
                },
                currentDesc: function (t) {
                    this.$emit("change", this.currentValue, t)
                }
            },
            methods: {
                onDescInputClick: function (t) {
                    this.currentValue = t.value;
                    for (var e = 0; e < this.options.length; e++) {
                        var i = this.options[e];
                        i.value != this.currentValue && (i.desc = "")
                    }
                },
                onInputChanged: function (t) {
                    this.currentDesc = t.desc, t.descCache = t.desc
                }
            }
        });
        Vue.yytmRadio = {
            template: "<div><yytm-base-radio :title='title' :options='radioOptions'  @change=\"onRadioValueChange\" v-model='radioValue'></yytm-base-radio></div>",
            props: {
                title: String,
                options: Array,
                disabled: Boolean,
                value: String,
                align: String,
                "label-key": String,
                "value-key": String,
                "disabled-key": String
            },
            data: function () {
                return {
                    radioValue: this.$props.value,
                    radioOptions: []
                }
            },
            watch: {
                value: {
                    handler: function (t, e) {
                        Vue.set(this.$data, "radioValue", this.$props.value)
                    },
                    immediate: !0
                },
                radioValue: {
                    handler: function (t, e) {
                        this.$emit("change", this.getValue())
                    },
                    immediate: !0
                }
            },
            created: function () {
                Vue.set(this.$data, "radioOptions", this.initOptions())
            },
            mounted: function () {
            },
            methods: {
                onRadioValueChange: function (t, e) {
                    t && "undefined" != t && this.$emit("change", {
                        radioVal: t,
                        desc: e
                    })
                },
                getValue: function () {
                    return this.$data.radioValue
                },
                initOptions: function () {
                    var t = this,
                        e = new Array,
                        i = t.$props.labelKey ? t.$props.labelKey.trim() : null,
                        n = (t.$props.valueKey && t.$props.valueKey.trim(), t.$props.disabledKey ? t.$props.disabledKey.trim() : null);
                    if (t.$props.options && t.$props.options.length > 0)
                        for (var o = 0; o < t.$props.options.length; o++) {
                            if ("object" !== a(t.$props.options[o])) return e = JSON.parse(JSON.stringify(t.$props.options));
                            e[o] = new Object, i ? (e[o]["label"] = t.$props.options[o][i], e[o]["value"] = t.$props.options[o][i]) : (e[o]["label"] = t.$props.options[o]["label"], e[o]["value"] = t.$props.options[o]["label"]), e[o]["disabled"] = n ? t.$props.options[o][n] : t.$props.options[o]["disabled"], t.$props.disabled && (e[o]["disabled"] = t.$props.disabled), e[o]["showDesc"] = t.$props.options[o]["showDesc"], e[o]["isDescMust"] = t.$props.options[o]["isDescMust"], e[o]["desc"] = t.$props.options[o]["desc"]
                        }
                    return e
                }
            }
        }, Vue.component("yytm-radio", Vue.yytmRadio)
    }, function (t, e, i) {
        "use strict";
        Vue.yytmProgress = {
            template: '<mt-progress :value="value" :bar-height="barHeight">  <div slot="start"><slot name="start"></slot></div>  <div slot="end"><slot name="end"></slot></div></mt-progress>',
            props: {
                value: Number,
                barHeight: Number
            },
            data: function () {
                return {}
            },
            watch: {},
            created: function () {
            },
            mounted: function () {
            },
            methods: {}
        }, Vue.component("yytm-progress", Vue.yytmProgress)
    }, function (t, e, i) {
        "use strict";

        function a() {
            function t(t) {
                var e = YC.Utils.getUrlParam(window.href, "vprojectcode"),
                    i = YC.Utils.getUrlParam(window.href, "userCode"),
                    a = YC.Utils.getUrlParam(window.href, "appFunCode"),
                    n = YC.Utils.getUrlParam(window.href, "time"),
                    o = YC.Utils.getUrlParam(window.href, "sign");
                return t["vprojectcode"] || (t["vprojectcode"] = e), t["userCode"] || (t["userCode"] = i), t["appFunCode"] || (t["appFunCode"] = a), t["time"] || (t["time"] = n), t["sign"] || (t["sign"] = o), t
            }

            this.doGet = function (e, i, a, n) {
                var o = t(i);
                $.ajax({
                    data: o,
                    isTip: !1,
                    method: "GET",
                    url: e,
                    dataType: "json",
                    success: a,
                    error: function (t) {
                        if (Vue && "function" == typeof Vue.$messagebox) {
                            var e = "请求失败！HttpRequest Status:" + t.status;
                            500 == t.status && t.responseText && (e = "请求失败！错误原因：" + t.responseText), Vue.$messagebox.alert(e, "错误"), "function" == typeof n && n(t)
                        }
                    }
                })
            }, this.doPost = function (e, i, a, n) {
                var o = t(i);
                $.ajax({
                    data: o,
                    isTip: !1,
                    method: "POST",
                    url: e,
                    dataType: "json",
                    success: a,
                    error: function (t) {
                        if (Vue && "function" == typeof Vue.$messagebox) {
                            var e = "请求失败！HttpRequest Status:" + t.status;
                            500 == t.status && t.responseText && (e = "请求失败！错误原因：" + t.responseText), Vue.$messagebox.alert(e, "错误"), "function" == typeof n && n(t)
                        }
                    }
                })
            }, this.clone = function (t) {
                var e;
                if ("object" == (void 0 === t ? "undefined" : n(t)))
                    if (null === t) e = null;
                    else if (t instanceof Array) {
                        e = [];
                        for (var i = 0, a = t.length; i < a; i++) e.push(this.clone(t[i]))
                    } else {
                        e = {};
                        for (var o in t) e[o] = this.clone(t[o])
                    } else e = t;
                return e
            }, this.genFileUploadUrl = function (t) {
                var e = getLoginInfo(),
                    i = getFileServiceConfig(),
                    a = {};
                return a.serviceCode = i.serviceCode, a.sessionid = Utils.getCookieValue("TGT"), a.isMobile = !1, a.isOcr = !1, a.cuserid = e.cuserid, a.userCode = e.user_code, a.pk_corp = e.pk_corp, a.dataSource = i.fileServiceDatasource, t || (t = {}), t.nodepath = path, t.sysCode || (t.sysCode = "webnc"), a.callbackSuffix = t.callbackSuffix, a.busiParam = t, {
                    pubParam: JSON.stringify(a)
                }
            }, this.getUUID = function (t, e) {
                var i, a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),
                    n = [];
                if (e = e || a.length, t)
                    for (i = 0; i < t; i++) n[i] = a[0 | Math.random() * e];
                else {
                    var o;
                    for (n[8] = n[13] = n[18] = n[23] = "-", n[14] = "4", i = 0; i < 36; i++) n[i] || (o = 0 | 16 * Math.random(), n[i] = a[19 == i ? 3 & o | 8 : o])
                }
                return n.join("").replace(/-/g, "").toLocaleLowerCase()
            }, Date.prototype.format = function (t) {
                var e = {
                    "M+": this.getMonth() + 1,
                    "d+": this.getDate(),
                    "h+": this.getHours(),
                    "m+": this.getMinutes(),
                    "s+": this.getSeconds(),
                    "q+": Math.floor((this.getMonth() + 3) / 3),
                    S: this.getMilliseconds()
                };
                /(y+)/.test(t) && (t = t.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)));
                for (var i in e) new RegExp("(" + i + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[i] : ("00" + e[i]).substr(("" + e[i]).length)));
                return t
            }
        }

        var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        };
        new a
    }, function (t, e, i) {
        "use strict";
        window.QuestionnaireConst = {
            I_QUESTIONNAIRE_TYPE_SINGLE: 0,
            I_QUESTIONNAIRE_TYPE_MORE: 1,
            ARRAY_QUESTIONNAIRE_TYPE_NAMES: ["单项投票", "多项投票"],
            I_QUESTIONNAIRE_ISCOPE_PUB: 0,
            I_QUESTIONNAIRE_ISCOPE_USER: 1,
            ARRAY_QUESTIONNAIRE_ISCOPE_NAMES: ["公开投票", "指定用户"],
            I_OPT_TYPE_RADIO: 0,
            I_OPT_TYPE_CHECKBOX: 1,
            I_OPT_TYPE_TEXTAREA: 2,
            I_OPT_TYPE_DATE: 3,
            I_OPT_TYPE_NUMBER: 4,
            I_OPT_TYPE_INTEGER: 5,
            I_OPT_TYPE_BIGTEXTAREA: 6,
            ARRAY_OPT_TYPE_NAMES: ["单选题", "多选题", "问答"],
            QUESTIONNAIRE_STATE_UNPUBLISHED: 0,
            QUESTIONNAIRE_STATE_PUBLISHED: 1,
            QUESTIONNAIRE_STATE_END: 2,
            QUESTIONNAIRE_STATE_SEAL: 3,
            ARRAY_QUESTIONNAIRE_STATE_NAME: ["未发布", "投票中", "已结束", "已结束"]
        }
    }, function (t, e, i) {
        "use strict";

        function a(t, e, i) {
            return e in t ? Object.defineProperty(t, e, {
                value: i,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : t[e] = i, t
        }

        !function (t, e) {
            window.yytQues = function () {
                function t(t) {
                    var e;
                    new Vue({
                        el: "#ques",
                        template: '<div class="wrapper" :class="getBgStyle()" id="app">\n    <div class="ques-naire-content" :class="{\'nofoot\' : !pk_custtodo}">\n    <div class="ques-naire-head" :class="{\'not-start\':isToDo,\'is-finish\':todoInfo.isfinish==\'Y\'}">\n                    <div v-if="isToDo" class="ques-naire-head-state-end">未开始</div>\n                    <div v-else-if="todoInfo.isfinish==\'Y\'" class="ques-naire-head-state-end">已填写</div>\n                    <div v-else class="ques-naire-head-state">未填写</div>\n                    <div class="ques-naire-head-block">\n                        <div class="ques-naire-head-block-title">\n                            {{todoInfo.vtitle}} <template v-if="todoInfo&&todoInfo.ifilltype==1&&todoInfo.dtododate">【{{todoInfo.dtododate}}】</template>\n                        </div>\n                        <div class="ques-naire-head-block-des">\n                            {{todoInfo.vdescript}}\n                        </div>\n                        <div class="ques-naire-head-block-date">\n                            {{isToDo?\'开始日期\':\'截止时间\'}}：{{isToDo?todoInfo.vstartdate:venddatetime}}\n                        </div>\n                        <div class="ques-naire-head-block-copy" v-show="todoInfo && hasLastQuestionn && hasTextTypeItem && todoInfo.isfinish==\'N\'" @click="copyLastValue"><p class="btn-copy-text"><i class="fa fa-copy"></i>复制上次</p></div>\n                    </div>\n                </div>\n    \n        <yytm-common-list v-if="questionList" :datas="questionList" :is-no-datas="isNoDatas" :is-no-more-datas="isNoMoreDatas"  @load-bottom="loadBottom" >\n            <template  slot="list-content" scope="props">\n                \n                <ul class="grid-ul">\n                    \x3c!-- 投票问题card --\x3e\n                    <li :id="\'question-card\'+index" v-for="(questionInfo,index) in props.datas" v-if="questionInfo.isshow" :key="index" class="ques-card">\n                        \x3c!-- 问题标题 --\x3e\n                        <div class="ques-card-title ques-wrapper">\n                            <div class="ques-card-title-idx" :class="questionInfo.ismust==\'Y\'?\'isrequire\':\'\'"> {{index+1}}.</div>\n                            <div style="width:100%" class="ques-card-title-text">\n                                <p><span v-html="questionInfo.vtitle"></span>\n                                </p>\n                            </div>\n                        </div>\n                        <div class="ques-card-meta" v-if="questionInfo.vdescriptiton" >{{questionInfo.vdescriptiton}}</div>\n                        \x3c!-- 投票组件 --\x3e\n                        <template >\n                            \x3c!-- 单选 --\x3e\n                            <yytm-radio v-if=\'questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_RADIO\'\n                                        :options="questionInfo.options"\n                                        :disabled="todoInfo.isfinish == \'Y\' || isQuestionEnd() || isToDo"\n                                        :value="questionInfo.value?questionInfo.value:\'\'"\n                                        :label-key=\'labelKey\'\n                                        :value-key=\'valueKey\'\n                                        @change="onRadioChange(questionInfo,questionList, $event)"></yytm-radio>\n                            \x3c!-- 多选 --\x3e\n                            <yytm-checklist v-else-if=\'questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_CHECKBOX\'\n                                            :options="questionInfo.options"\n                                            :disabled="todoInfo.isfinish == \'Y\' || isQuestionEnd() || isToDo"\n                                            :value="questionInfo.value"\n                                            :label-key=\'labelKey\'\n                                            :value-key=\'valueKey\'\n                                            :max="questionInfo.imaxoptnum"\n                                            @change="onCheckListChange(questionInfo, $event)">\n                            </yytm-checklist>\n                            <yytm-field v-else-if=\'questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_TEXTAREA\'\n                                        type="text"\n                                        rows="3"\n                                        :readonly="todoInfo.isfinish == \'Y\' || isQuestionEnd() || isToDo"\n                                        v-model = "questionInfo.value"\n                                        :class="todoInfo.isfinish == \'Y\' || isQuestionEnd() ? \'disabled-line\':\'\'">\n                            </yytm-field>\n                            <yytm-field v-else-if=\'questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_INTEGER\'\n                                        :readonly="todoInfo.isfinish == \'Y\' || isQuestionEnd()"\n                                        type="number"\n                                        v-model = "questionInfo.value">\n                            </yytm-field>\n                            <yytm-field v-else-if=\'questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_NUMBER\'\n                                        :readonly="todoInfo.isfinish == \'Y\' || isQuestionEnd() || isToDo"\n                                        type="number"\n                                        v-model = "questionInfo.value">\n                            </yytm-field>\n                            <yytm-field v-else-if=\'questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_BIGTEXTAREA\'\n                                        :readonly="todoInfo.isfinish == \'Y\' || isQuestionEnd() || isToDo"\n                                        type="textarea"\n                                        rows=6\n                                        v-model = "questionInfo.value">\n                            </yytm-field>\n                            <mt-cell v-else-if="questionInfo.itype==QuestionnaireConst.I_OPT_TYPE_DATE"\n                                     :value="questionInfo.value ? questionInfo.value : \'请选择\'"\n                                     @click.native="onDatePickerClick(index)" is-link>\n                            </mt-cell>\n                            <yytm-datetime-picker ref="datePicker" type="date" v-model="tempDateVal" @confirm="afterDateEdit(questionInfo, $event)"></yytm-datetime-picker>\n                        </template>\n                    </li>\n                </ul>\n            </template>\n        </yytm-common-list>\n        <template >\n            <div v-if="pk_custtodo" class="grid-bar active" >\n                <button v-if="!isQuestionEnd() && todoInfo.isfinish==\'N\' && questionList.length>=totalCount && !isToDo"\n                        type="button" class="bar-btn bar-btn-success" @click="onSubmit">提交</button>\n                \x3c!--零售户问卷填制关闭按钮暂时不放出--\x3e\n                \x3c!--<button type="button" class="bar-btn bar-btn-close" @click="onClose">关闭</button>--\x3e\n            </div>\n        </template>\n    </div>\n</div>',
                        data: function () {
                            return {
                                QuestionnaireConst: window.QuestionnaireConst,
                                headerConfig: {
                                    title: "问卷详情"
                                },
                                billConfig: {
                                    funCode: "MSHD0404",
                                    billType: "MSD2",
                                    nodeKey: "QUESTIONNAIRE_M",
                                    grandNodeKey: "OPT_M",
                                    location: "/marketing-survey/CustMobileSurvey",
                                    tabCode: "ycmd_questionnaire",
                                    headerTabCode: "ycmd_questionnaire",
                                    bodyTabCode: "ycmd_questionnaire_question,ycmd_questionnaire_pushuser,ycmd_questionnaire_r"
                                },
                                todoInfo: {},
                                questionList: [],
                                labelKey: "vname",
                                valueKey: "pk_questionnaire_question_opt",
                                isSubmit: !1,
                                isNoMoreDatas: !1,
                                isNoDatas: !1,
                                totalCount: 0,
                                pageSize: 30,
                                dateDefaultVal: (new Date).format("yyyy-MM-dd"),
                                tempDateVal: (new Date).format("yyyy-MM-dd"),
                                isShowDatePicker: !1,
                                isShowDatetimePicker: !1,
                                hasLastQuestionn: !1,
                                hasTextTypeItem: !1,
                                venddatetime: "永久有效",
                                pk_custtodo: null,
                                logicInfo: [],
                                isToDo: !1
                            }
                        },
                        created: function () {
                            var e = this;
                            yytUtil.msg.showLoading(".yyt-modal"), e.initQuestionnaireInfoPage(t)
                        },
                        mounted: function () {
                        },
                        methods: (e = {
                            refresh: function () {
                                this.$forceUpdate()
                            },
                            initQuestionnaireInfoPage: function (t) {
                                var e = this,
                                    i = yytUtil.url.getUrlParam("billId", t);
                                yytUtil.isEmpty(i) || e.$set(e.$data, "pk_custtodo", i);
                                var a = yytUtil.url.getUrlParam("pk_surveybill", t);
                                if (yytUtil.isEmpty(i) && yytUtil.isEmpty(a)) return void e.$messagebox.alert("获取投票单失败，投票单id为空", "加载失败");
                                var n = yytUtil.url.getUrlParam("preview", t);
                                if (yytUtil.isEmpty(n)) {
                                    var o = yytUtil.url.getUrlParam("vlicensecode", t);
                                    if (yytUtil.isEmpty(o)) return void e.$messagebox.alert("零售户许可证号为空", "加载失败")
                                }
                                e.loadQuestionnaireInfo(0)
                            },
                            disposeQuestionList: function (t) {
                                for (var e = 0; e < t.length; e++) {
                                    var i = t[e];
                                    if (i.value || (i.itype == QuestionnaireConst.I_OPT_TYPE_CHECKBOX ? i.value = i.vdefvalue ? i.vdefvalue.split(",") : [] : (i.itype, QuestionnaireConst.I_OPT_TYPE_RADIO, i.value = i.vdefvalue ? i.vdefvalue : null)), i.itype == QuestionnaireConst.I_OPT_TYPE_RADIO)
                                        for (var a in i.options) {
                                            var n = i.options[a];
                                            n.desc = "", "Y" == n.iffillsubtext && (n.showDesc = !0), "Y" == n.ifsubtextmust && (n.isDescMust = !0), n.vname == i.value && (n.desc = i.subvalue)
                                        } else i.itype == QuestionnaireConst.I_OPT_TYPE_CHECKBOX && (i.imaxoptnum = i.imaxoptnum ? i.imaxoptnum : i.options ? i.options.length : 0);
                                    i.isshow = !0, i.pk_targetitems = [], i.pk_itemopts = []
                                }
                            },
                            setShowQuestionList: function (t, e) {
                                for (var i = new Array, a = 0; a < t.length; a++)
                                    for (var n = t[a], o = 0; o < e.length; o++) {
                                        var s = e[o];
                                        n.pk_surveyitem == s.pk_questionn_targetitem && i.push(s.pk_questionn_targetitem);
                                        var r = n.options;
                                        if (r)
                                            for (var l = 0; l < r.length; l++) {
                                                var d = r[l];
                                                d.pk_surveyitem_opt == s.pk_questionn_item_opt && (n.pk_targetitems.push(s.pk_questionn_targetitem), n.pk_itemopts.push(s.pk_questionn_item_opt))
                                            }
                                    }
                                for (var a = 0; a < t.length; a++)
                                    for (var n = t[a], c = 0; c < i.length; c++) n.pk_surveyitem == i[c] && (n.isshow = !1)
                            },
                            loadQuestionnaireInfo: function (t) {
                                var e = this;
                                if (0 == t || !e.$data.isNoMoreDatas) {
                                    var i = e.getParams(t);
                                    i = e.initParam(i), yytUtil.ajax({
                                        url: e.billConfig.location + "/loadQuestionList.json",
                                        processParams: !1,
                                        type: "post",
                                        params: i,
                                        onSuccess: function () {
                                        },
                                        onFailure: function () {
                                        },
                                        onComplete: function (i) {
                                            yytUtil.msg.stopLoading(".yyt-modal");
                                            var a = JSON.parse(i.responseText);
                                            a.success ? (e.disposeQuestionList(a.data.questionList), e.setShowQuestionList(a.data.questionList, a.data.logicInfo), e.$set(e.$data, "logicInfo", a.data.logicInfo), 0 == t ? (e.$set(e.$data, "hasTextTypeItem", a.data.hasTextTypeItem), e.$set(e.$data, "hasLastQuestionn", a.data.hasLastQuestionn), e.$set(e.$data, "questionList", a.data.questionList), e.$set(e.$data, "totalCount", a.data.totalCount)) : (e.$set(e.$data, "hasTextTypeItem", e.$data.hasTextTypeItem || a.data.hasTextTypeItem), e.$set(e.$data, "hasLastQuestionn", e.$data.hasLastQuestionn || a.data.hasLastQuestionn), e.$set(e.$data, "questionList", e.$data.questionList.concat(a.data.questionList))), e.$data.questionList && 0 != e.$data.questionList.length ? e.$set(e.$data, "isNoDatas", !1) : e.$set(e.$data, "isNoDatas", !0), e.$set(e.$data, "totalCount", a.data.totalCount), e.$set(e.$data, "todoInfo", a.data.todoInfo), e.$set(e.$data, "venddatetime", e.todoInfo.vtodofillendts), e.offset = t, e.isToDo = new Date(e.todoInfo.vstartdate) > new Date) : e.$messagebox.alert(a.msg ? a.msg : "查询问卷信息出错！", "警告")
                                        }
                                    })
                                }
                            },
                            getParams: function (e) {
                                var i = this,
                                    a = {
                                        offset: e,
                                        pk_custtodo: yytUtil.url.getUrlParam("billId", t),
                                        pk_surveybill: yytUtil.url.getUrlParam("pk_surveybill", t),
                                        vlicensecode: yytUtil.url.getUrlParam("vlicensecode", t)
                                    };
                                return a = $.extend(i.$data.billConfig, a)
                            },
                            loadBottom: function () {
                                var t = this,
                                    e = t.offset + t.$data.pageSize;
                                e < t.$data.totalCount ? (t.loadQuestionnaireInfo(e), t.$set(t.$data, "isNoMoreDatas", !1)) : t.$set(t.$data, "isNoMoreDatas", !0)
                            },
                            onSubmit: function () {
                                var t = this;
                                return setTimeout(function () {
                                    var e = t.buildQuestionnaireRes();
                                    t.beforeSaveQuestionnaireResCheck() && !1 !== e.success && t.saveQuestionnaireRes(e.data)
                                }), !1
                            },
                            beforeSaveQuestionnaireResCheck: function () {
                                var t = this;
                                if (!0 === t.$data.isSubmit) return t.$messagebox.alert("投票提交中，请勿重复提交", "警告"), !1;
                                for (var e = 0; e < t.questionList.length; e++) {
                                    var i = t.questionList[e];
                                    if ("Y" == i.ismust && i.isshow)
                                        if (i.itype == QuestionnaireConst.I_OPT_TYPE_CHECKBOX) {
                                            if (!i.value || 0 == i.value.length) return t.$toast({
                                                message: "第" + (e + 1) + "题尚未回答",
                                                iconClass: "mintui mintui-error",
                                                duration: 1500
                                            }), !1
                                        } else if (i.itype == QuestionnaireConst.I_OPT_TYPE_RADIO) {
                                            if (!i.value) return t.$toast({
                                                message: "第" + (e + 1) + "题尚未回答",
                                                iconClass: "mintui mintui-error",
                                                duration: 1500
                                            }), !1
                                        } else if (!i.value) return t.$toast({
                                            message: "第" + (e + 1) + "题尚未回答",
                                            iconClass: "mintui mintui-error",
                                            duration: 1500
                                        }), !1;
                                    if (i.itype == QuestionnaireConst.I_OPT_TYPE_RADIO && i.value)
                                        for (var a = 0; a < i.options.length; a++) {
                                            var n = i.options[a];
                                            if (i.value == n.vname && "Y" == n.ifsubtextmust && !i.subvalue) return t.$toast({
                                                message: "第" + (e + 1) + "题 选项描述不能为空！",
                                                iconClass: "mintui mintui-error",
                                                duration: 1500
                                            }), !1
                                        }
                                }
                                return !0
                            },
                            buildQuestionnaireRes: function () {
                                for (var t = this, e = new Array, i = 0; i < t.questionList.length; i++) {
                                    var a = t.questionList[i],
                                        n = {
                                            pk_surveybill: t.todoInfo.pk_surveybill,
                                            pk_surveyitem: a.pk_surveyitem,
                                            pk_custtodo: t.todoInfo.pk_custtodo,
                                            crowno: a.crowno
                                        };
                                    if (a.itype == QuestionnaireConst.I_OPT_TYPE_CHECKBOX) {
                                        for (var o = 0; o < a.options.length; o++)
                                            for (var s = a.options[o], r = a.value, l = 0; l < r.length; l++)
                                                if (r[l] == s.vname) {
                                                    var d = $.extend({}, n);
                                                    d.pk_questionn_item_opt = s.pk_questionn_item_opt, d.vtext = r[l], e.push(d)
                                                }
                                    } else if (a.itype == QuestionnaireConst.I_OPT_TYPE_RADIO)
                                        for (var o = 0; o < a.options.length; o++) {
                                            var s = a.options[o];
                                            a.value == s.vname && (n.pk_questionn_item_opt = s.pk_questionn_item_opt, n.vtext = s.vname, n.vsubtext = a.subvalue, e.push(n))
                                        } else n.vtext = a.value, e.push(n)
                                }
                                return {
                                    success: !0,
                                    data: e
                                }
                            },
                            saveQuestionnaireRes: function (e) {
                                var i = this;
                                setTimeout(function () {
                                    i.$data.isSubmit, yytUtil.msg.showLoading(".yyt-modal", {
                                        text: "提交中..."
                                    });
                                    var a = yytUtil.url.getUrlParam("billId", t),
                                        n = yytUtil.url.getUrlParam("pk_surveybill", t),
                                        o = yytUtil.url.getUrlParam("vlicensecode", t),
                                        s = {
                                            vlicensecode: o,
                                            pk_surveybill: n,
                                            pk_custtodo: a,
                                            result_jsonstr: JSON.stringify(e)
                                        };
                                    s = i.initParam(s), yytUtil.ajax({
                                        url: i.billConfig.location + "/submitQuestionnaire.json",
                                        processParams: !1,
                                        type: "post",
                                        params: s,
                                        onSuccess: function () {
                                        },
                                        onFailure: function () {
                                        },
                                        onComplete: function (e) {
                                            JSON.parse(e.responseText).success ? (yytUtil.msg.showSuccessMsg("提交成功！"), setTimeout(function () {
                                                i.initQuestionnaireInfoPage(t), yytUtil.msg.stopLoading(".yyt-modal")
                                            }, 1500)) : (yytUtil.msg.showErrorMsg(e.msg || "提交失败！请重新提交或联系管理员"), i.$data.isSubmit, yytUtil.msg.stopLoading(".yyt-modal"))
                                        }
                                    })
                                }, 0)
                            },
                            scrollIntoQuesCard: function (t, e) {
                                var i = this;
                                document.getElementById(t).scrollIntoView(), $(".ques-card").removeClass("ques-card-err"), $("#" + t).addClass("ques-card-err"), i.$messagebox.alert(e || "请补全投票信息", "投票信息不完整")
                            },
                            afterDateEdit: function () {
                            },
                            onCheckListChange: function (t, e) {
                                t.value = e
                            },
                            onRadioChange: function (t, e, i) {
                                if (i && void 0 !== i.radioVal && (t.value = i.radioVal, t.subvalue = i.desc), t.pk_targetitems && void 0 !== t.pk_targetitems)
                                    for (var a = t.options, n = 0; n < a.length; n++) {
                                        var o = a[n];
                                        if (o.vname == i) {
                                            var s = o.pk_surveyitem_opt;
                                            -1 != t.pk_itemopts.indexOf(s) ? this.setLogicItemShow(t, e, s) : this.setLogicItemUnShow(t, e)
                                        }
                                    }
                            },
                            setLogicItemUnShow: function (t, e) {
                                for (var i = 0; i < e.length; i++) -1 != t.pk_targetitems.indexOf(e[i].pk_surveyitem) && (e[i].isshow = !1)
                            },
                            setLogicItemShow: function (t, e, i) {
                                for (var a = t.pk_itemopts.indexOf(i), n = t.pk_targetitems[a], o = new Array, s = 0; s < e.length; s++) n == e[s].pk_surveyitem && (e[s].isshow = !0, o.push(n));
                                for (var r = t.pk_targetitems.filter(function (t) {
                                    return -1 === o.indexOf(t)
                                }), s = 0; s < e.length; s++)
                                    for (var l = 0; l < r.length; l++) r[l] == e[s].pk_surveyitem && (e[s].isshow = !1)
                            },
                            onDatePickerClick: function (t) {
                                "Y" == this.todoInfo.isfinish || this.isToDo || this.$refs.datePicker[t].open()
                            }
                        }, a(e, "afterDateEdit", function (t, e) {
                            t.value = e.format("yyyy-MM-dd")
                        }), a(e, "copyLastValue", function () {
                            for (var t = this, e = 0; e < t.questionList.length; e++) {
                                var i = t.questionList[e];
                                i.itype != QuestionnaireConst.I_OPT_TYPE_TEXTAREA && i.itype != QuestionnaireConst.I_OPT_TYPE_NUMBER && i.itype != QuestionnaireConst.I_OPT_TYPE_INTEGER || (i.value = i.lastvalue)
                            }
                            t.$toast({
                                message: "复制成功！",
                                iconClass: "mintui mintui-success",
                                duration: 1e3
                            })
                        }), a(e, "getBgStyle", function () {
                            var t = "wrapper";
                            return this.todoInfo && ("Y" == this.todoInfo.isfinish ? t += " bg-2" : t += " bg-1"), t
                        }), a(e, "onClose", function () {
                            window.top && window.top.platformPageUtils ? window.top.platformPageUtils.close(window) : window.top.open("", "_self").close()
                        }), a(e, "isQuestionEnd", function () {
                            var t = Date.parse(this.todoInfo.vtodofillendts);
                            return (new Date).getTime() > t
                        }), a(e, "initParam", function (e) {
                            var i = yytUtil.url.getUrlParam("vprojectcode", t),
                                a = yytUtil.url.getUrlParam("userCode", t),
                                n = yytUtil.url.getUrlParam("appFunCode", t),
                                o = yytUtil.url.getUrlParam("time", t),
                                s = yytUtil.url.getUrlParam("sign", t);
                            return e["vprojectcode"] || (e["vprojectcode"] = i), e["userCode"] || (e["userCode"] = a), e["appFunCode"] || (e["appFunCode"] = n), e["time"] || (e["time"] = o), e["sign"] || (e["sign"] = s), e
                        }), e)
                    })
                }

                return {
                    initQuestionnaire: t
                }
            }()
        }()
    }, , , function (t, e, i) {
        "use strict";
        var a = i(21),
            n = i(37),
            o = i(38);
        a(function () {
            n.image(".Y_img_lazy")
        }), a(window).load(function () {
            n.loadComponent("[component].Y_lazy", function () {
                var t = (a(this).attr("data-tmpl"), a(this).attr("data-source")),
                    e = a(this).attr("id"),
                    i = this;
                t && o.ajax({
                    url: t
                }).done(function (t, o, s) {
                    t && ("string" == typeof t && (t = JSON.parse(t)), a("#" + e).removeClass("loading"), a(i).trigger("render", t), n.image(a("#" + e + ".Y_img_lazy, #" + e + " .Y_img_lazy")))
                })
            })
        })
    }, function (t, e) {
        t.exports = a
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            var e, i = t.substring(0, t.indexOf("://"));
            if ("" != i) {
                e = t.substr(t.indexOf("//") + 2);
                var a, n, o = e.substr(0, e.indexOf("/")),
                    s = o.indexOf(":");
                return s > 0 ? (a = o.substr(0, s), n = o.substr(s + 1)) : a = o, {
                    protocal: i,
                    domainName: a,
                    port: n
                }
            }
            if ("" == i) {
                e = t.substr(2);
                var a, n, o = e.substr(0, e.indexOf("/")),
                    s = o.indexOf(":");
                return s > 0 ? (a = o.substr(0, s), n = o.substr(s + 1)) : a = o, {
                    protocal: i,
                    domainName: a,
                    port: n
                }
            }
        }

        var n = function (t) {
            var e = t.url;
            if (-1 == e.indexOf("//")) return $.ajax(t);
            var i = a(e),
                n = a(window.location.href);
            return i.protocal != n.protocal && "" != i.protocal || i.domainName != n.domainName || i.port != n.port ? i.protocal != n.protocal || i.domainName != n.domainName || i.port != n.port ? (t["dataType"] = "jsonp", $.ajax(t)) : void 0 : $.ajax(t)
        };
        t.exports = {
            ajax: n
        }
    }, function (t, e, i) {
        "use strict";
        i(1), i(40), i(41)
    }, function (t, e) {
    }, function (t, e) {
    }, , function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                height: "346",
                width: "100%"
            }
        }

        i(66);
        var n = i(0);
        $.extend(a.prototype, n, {
            getDom: function () {
                return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="slider"]'), this.__dom)
            }
        }), a.prototype.render = function (t, e) {
            $(".swiper-wrapper").children().remove();
            for (var i = "", a = 0; a < t.length; a++) t[a].imgUrl || (t[a].imgUrl = "../images/icon-nodata.png"), i += '<div class="swiper-slide"><a href="' + t[a].url + '"><img src="' + t[a].imgUrl + '" data-transition="slideInLeft" ></a></div>';
            $(i).appendTo(".swiper-wrapper"), this.initEvent(e)
        }, a.prototype.initEvent = function (t) {
            new Swiper(".swiper", {
                direction: "horizontal",
                loop: !0,
                pagination: {
                    el: ".swiper-pagination",
                    clickable: !0
                },
                navigation: {
                    nextEl: ".swiper-button-next",
                    prevEl: ".swiper-button-prev"
                },
                autoplay: {
                    delay: t || 3e3
                }
            })
        }, a.prototype.init = function () {
        }, t.exports = a
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            n.constructor.call(this, t), this.container = t || document.body, this.fieldValues = {
                width: "100%",
                height: "auto",
                dataUrl: "productlist.json",
                dataType: "Y_lazy"
            }
        }

        i(67);
        var n = i(0);
        $.extend(a.prototype, n, {
            getDom: function () {
                return this.__dom ? this.__dom : (this.__dom = $(this.container), this.__dom)
            }
        }), a.prototype.render = function (t, e, i, a) {
            $(t).find(".productitem-list").children().remove();
            for (var n = e.length, o = "", s = 0; s < n; s++) e[s].url || (e[s].url = "#"), e[s].imgUrl || (e[s].imgUrl = "../images/icon-nodata.png"), e[s].vslogan || (e[s].vslogan = ""), o += "<div class='yyt-productitem recommend-product' url='" + e[s].url + "' item-id='" + e[s].pk_cigarette + "'><div class='productitem-name'><div class='productitem-title'>" + e[s].vcgtname + "</div><div class='productitem-subtitle a-black'>" + e[s].vslogan + "</div></div><div class='productitem-content'><div class='productitem-image' style='background-image: url(" + e[s].imgUrl + ')\'></div><div class="productitem-des"><span class="product-des">' + e[s].vbrightspot1 + '</span><span class="product-des">' + e[s].vbrightspot2 + '</span><span class="product-des">' + e[s].vbrightspot3 + "</span></div></div></a></div>";
            $(t).find(".productitem-list").append(o);
            for (var s = 0; s < e.length; s++) {
                var n = $("[item-id=" + e[s].pk_cigarette + "]").length - 1;
                e[s].vbrightspot1 || $("[item-id=" + e[s].pk_cigarette + "]").eq(n).find(".product-des").eq(0).css("display", "none"), e[s].vbrightspot2 || $("[item-id=" + e[s].pk_cigarette + "]").eq(n).find(".product-des").eq(1).css("display", "none"), e[s].vbrightspot3 || $("[item-id=" + e[s].pk_cigarette + "]").eq(n).find(".product-des").eq(2).css("display", "none");
                var r = {
                        yytcontent: e[s].vbrightspot1
                    },
                    l = {
                        yytcontent: e[s].vbrightspot2
                    },
                    d = {
                        yytcontent: e[s].vbrightspot3
                    };
                yytUtil.tip($("[item-id=" + e[s].pk_cigarette + "]").eq(n).find(".product-des").eq(0), r), yytUtil.tip($("[item-id=" + e[s].pk_cigarette + "]").eq(n).find(".product-des").eq(1), l), yytUtil.tip($("[item-id=" + e[s].pk_cigarette + "]").eq(n).find(".product-des").eq(2), d)
            }
            $(t).find(".news-more").attr("href", -1 == i.moreBrand.indexOf("?") ? i.moreBrand + "?" + a : i.moreBrand + "&" + a), this.eventInit()
        }, a.prototype.eventInit = function () {
            $(".yyt-productitem").on("click", function () {
                var t = $(this).attr("url"),
                    e = $(this).attr("item-id");
                YYTUbaLogUtils.logUba({
                    at: ubalogConstants.action.OPEN,
                    billId: e
                }), location.href = t
            })
        }, a.prototype.getDefineAttr = function () {
        }, t.exports = a
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                width: "200",
                height: "150"
            }
        }

        i(68);
        var n = i(0),
            o = i(7);
        $.extend(a.prototype, n, {
            getDom: function () {
                return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="news"]'), this.__dom)
            }
        }), a.prototype.render = function () {
            o.index.getInfoClass, yytUtil.ajax({
                async: !0,
                method: "POST",
                url: "/marketing-orderplatform/MOH4/MOH404/MOH40406/getInfoClass.json",
                onSuccess: function (t) {
                    var e = t.infoClass,
                        i = t.info;
                    $(".hot-left").find(".info-content-item").children().remove(), $(".hot-right").find(".info-content-item").children().remove();
                    var a = [];
                    if (e.length / 2 > 1) {
                        for (var n = 1; n < Math.ceil(e.length / 2); n++) a[n] = $(".hot").clone();
                        $(".information-disclosure").append(a)
                    }
                    e.length % 2 && $(".hot").eq(Math.ceil(e.length / 2) - 1).find(".hot-right").remove();
                    for (var n = 0; n < e.length; n++) e[n].vname || (e[n].vname = ""), $(".information-list").eq(n).find(".floorhead-title").html(e[n].vname), $(".information-list").eq(n).find(".info-content-item").attr("field", e[n].pk_infoclass), $(".information-list").eq(n).find(".news-more").attr("href", "javascript:void(0)"), $(".information-list").eq(n).find(".news-more").attr("data-url", e[n].classUrl);
                    for (var o = i.length, s = 0; s < o; s++) {
                        var r = "";
                        r = '<li><a class="information-content" href="javascript:void(0)" data-url="' + i[s].url + '" data-yyttrigger="tooltip" data-yytcontent="' + i[s].vtitle + '" data-pk="' + i[s].pk_infocollaboration + '"><span class="content-left">' + i[s].vtitle + "</span>", "Y" == i[s].ishot ? r += '<div class="isHot">热</div>' : "Y" == i[s].isnew && (r += '<div class="isNew">新</div>'), r += '<span class="right">' + i[s].vpubdate + "</span></a></li>", $("[field=" + i[s].pk_infoclass + "]").children().length < 5 && $("[field=" + i[s].pk_infoclass + "]").append(r)
                    }
                }
            });
            this.initEvent()
        }, a.prototype.initEvent = function () {
            $(this.container).find(".news-more").on("click", function () {
                location.href = $(this).attr("data-url")
            }), $(document).on("click", ".information-content", function () {
                var t = [];
                localStorage.getItem("login_cookie") && localStorage.getItem("login_cookie") === document.cookie || (localStorage.setItem("login_cookie", document.cookie), yytUtil.storage.setItem("orderDocumentPKs", [])), localStorage.getItem("orderDocumentPKs") && (t = yytUtil.storage.getItem("orderDocumentPKs")), -1 == t.indexOf($(this).attr("data-pk")) && (t.push($(this).attr("data-pk")), yytUtil.storage.setItem("orderDocumentPKs", t));
                var e = $(this).attr("data-url");
                location.href = e
            })
        }, t.exports = a
    }, , , , , , , , , , , , , , , , , , , function (t, e, i) {
        "use strict";
        i(1), i(65), i(36), i(39);
        var a = i(0),
            n = i(7),
            o = i(43),
            s = i(44),
            r = i(45);
        i(11), i(4), i(5), i(22);
        var l = function (t) {
            a.constructor.call(this, t)
        };
        $.extend(l.prototype, a, {
            getDom: function () {
                return '[component="index"]'
            }
        }), l.prototype.render = function () {
            var t = this;
            $("[component]").each(function () {
                var e = $(this).attr("component");
                if ("yyt-slider" !== e && "yyt-productitemlist" !== e && "info" !== e) var i = t.getComponent(e),
                    a = new i(this);
                !$(this).hasClass("Y_lazy") && a && a.render()
            })
        }, l.prototype.initComponents = function () {
            var t = {
                "yyt-floorhead": i(69),
                "yyt-footer": i(20),
                "yyt-navigator": i(10),
                "yyt-productitemlist": i(44),
                "yyt-slider": i(43),
                "yyt-shortcut": i(9),
                news: i(71),
                info: i(45)
            };
            for (var e in t) $.isFunction(t[e]) && this.addComponent(e, t[e])
        }, (new l).render(),
            function () {
                !function () {
                    var t = Utils.getCookie("usercode"),
                        e = localStorage.getItem("E_" + t + "_banner"),
                        i = !1;
                    if (e && "Y" === yytUtil.url.getUrlParam("isSaveBanner")) try {
                        var a = JSON.parse(e),
                            l = a.topDisplayImg,
                            d = a.delay;
                        l && l.length > 0 && (i = !0, (new o).render(l, d))
                    } catch (t) {
                    }
                    n.index.getDisplayImg, yytUtil.ajax({
                        async: !0,
                        method: "POST",
                        url: "/marketing-orderplatform/MOH4/MOH404/MOH40406/getDisplayImg.json",
                        onSuccess: function (e) {
                            var a, n = e.newProductImg,
                                r = e.recommendImg,
                                l = e.topDisplayImg;
                            e.config && (a = e.config.delay), (new s).render("#newproductitemlist", n, e, "moreCondition=isNew"), (new s).render("#productitemlist", r, e, "moreCondition=isRecommend"), i ? $(["<div>", function () {
                                for (var t = "", e = 0; e < l.length; e++) t += '<img src="' + l[e].imgUrl + '" height="0" width="0">';
                                return t
                            }(), "</div>"].join("")).appendTo(document.body) : (new o).render(l, a), localStorage.setItem("E_" + t + "_banner", JSON.stringify({
                                topDisplayImg: l,
                                delay: a
                            }))
                        },
                        onFailure: function () {
                        }
                    }), (new r).render()
                }()
            }()
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e) {
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                width: "100%",
                height: "30"
            }
        }

        i(70);
        var n = i(0);
        $.extend(a.prototype, n, {
            getDom: function () {
                return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="yyt-floorhead"]'), this.__dom)
            }
        }), t.exports = a
    }, function (t, e) {
    }, function (t, e, i) {
        "use strict";

        function a(t) {
            this.container = t || document.body, this.fieldValues = {
                width: "200",
                height: "150"
            }
        }

        i(72);
        var n = i(0);
        i(73);
        var o = i(7);
        $.extend(a.prototype, n, {
            getDom: function () {
                return this.__dom ? this.__dom : (this.__dom = $(this.container).find('[component="news"]'), this.__dom)
            }
        }), a.prototype.render = function () {
            o.index.getNotice;
            yytUtil.ajax({
                async: !0,
                method: "POST",
                url: "/marketing-orderplatform/MOH4/MOH404/MOH40406/getNotice.json",
                onSuccess: function (t) {
                    var e = t.notices;
                    $("#newsMore").attr("href", "javascript:void(0)"), $("#newsMore").attr("data-url", "/marketing-orderplatform/ui/pages/infodetail.html"), $("#newsMore").on("click", function () {
                        window.top.FramePage.openPage(t.moreInfoUrl, t.moreInfoUrl, "公告", "", "/marketing-orderplatform/ui/pages/infodetail.html")
                    });
                    var i = e.length;
                    e.length > 12 && (i = 12);
                    for (var a = "", n = "", o = 0; o < i; o++) {
                        var s = encodeURIComponent(e[o]["publishtime"]);
                        if (e[o].istop) {
                            if ("Y" == e[o]["istop"]) {
                                n += '<li class = "top-news"><i></i><a class="new-content"  publishtime=' + s + " pk_messageinfo=" + e[o]["pk_noticepublic"] + ' href="javascript:void(0)" data-url="' + e[o].url + '" data-yyttrigger="tooltip" data-yytcontent="' + e[o].vtitle + '"><span class="tip-msg"></span>' + e[o].vtitle + "</a></li>";
                                continue
                            }
                            n += '<li class = "top-news"><i></i><a class="new-content"  publishtime=' + s + " pk_messageinfo=" + e[o]["pk_noticepublic"] + ' href="javascript:void(0)" data-url="' + e[o].url + '" data-yyttrigger="tooltip" data-yytcontent="' + e[o].vtitle + '"><span></span>' + e[o].vtitle + "</a></li>"
                        } else {
                            if ("默认" == e[o]["msg_type"]) {
                                a += '<li class = "normal-news"><i></i><a class="new-content"  publishtime=' + s + " pk_messageinfo=" + e[o]["pk_noticepublic"] + ' href="javascript:void(0)" data-url="' + e[o].url + '" data-yyttrigger="tooltip" data-yytcontent="' + e[o].vtitle + '"><span class="tip-msg"></span>' + e[o].vtitle + "</a></li>";
                                continue
                            }
                            a += '<li class = "normal-news"><i></i><a class="new-content"  publishtime=' + s + " pk_messageinfo=" + e[o]["pk_noticepublic"] + ' href="javascript:void(0)" data-url="' + e[o].url + '" data-yyttrigger="tooltip" data-yytcontent="' + e[o].vtitle + '"><span></span>' + e[o].vtitle + "</a></li>"
                        }
                    }
                    $(n).appendTo(".news-content-item"), $(a).appendTo(".news-content-item")
                }
            }), this.initEvent(".news-content-item")
        }, a.prototype.initEvent = function (t) {
            $(t).on("click", ".new-content", function () {
                var t = ($("#newsMore").attr("data-url"), $(this).attr("data-url"));
                $(this).attr("target-url", t);
                var e = $(this).attr("pk_messageinfo"),
                    i = $(this).attr("publishtime"),
                    a = $(this).attr("data-yytcontent");
                location.href = "../pages/noticedetail.html?pk_messageinfo=" + e + "&navName=" + a + "&title=" + a + "&publishtime=" + i
            })
        }, a.prototype.init = function () {
        }, t.exports = a
    }, function (t, e) {
    }, function (t, e, i) {
        "use strict";
        !function () {
            $.fn.mySlideTab = function (t) {
                var e = this,
                    i = $(this),
                    a = {
                        ismoveLineDiv: !0,
                        height: 2,
                        position: "",
                        color: "red",
                        animateTime: 500,
                        animateType: "",
                        zIndex: "1",
                        top: 0,
                        customTop: !1,
                        randomOpacity: 1,
                        eventType: "click",
                        tabContent: ""
                    },
                    n = $.extend({}, a, t);
                switch (n.ismoveLineDiv && function () {
                    i.css({
                        position: i.css("position")
                    });
                    var t = i.children().width(),
                        a = "inner" === n.position ? i.children().outerHeight() - n.height : i.children().outerHeight(),
                        o = i.children().position().left,
                        s = Number(i.children().css("margin-left").replace(/[^0-9]+/g, "")),
                        r = n.color;
                    n.customTop && (a = n.top);
                    var l = n.height > 5 ? "-1" : n.zIndex;
                    e.moveLineDiv = $('<div class="tag-line"></div>').css({
                        position: "absolute",
                        height: n.height,
                        background: r,
                        top: a,
                        "z-index": l,
                        display: "none"
                    }).appendTo(i);
                    for (var d = 0; d < i.children().length; d++)
                        if (i.children().eq(d).hasClass("active")) {
                            o = i.children().eq(d).position().left, t = i.children().eq(d).width();
                            break
                        }
                    e.moveLineDiv.stop().animate({
                        width: t,
                        left: o + s
                    }, n.animateTime, n.animateType), i.children().hover(function () {
                        var t = Number(i.children().css("margin-left").replace(/[^0-9]+/g, "")),
                            a = $(this).width(),
                            o = $(this).position().left;
                        e.moveLineDiv.stop().animate({
                            width: a,
                            left: o + t
                        }, n.animateTime, n.animateType)
                    }, function () {
                        for (var a = 0; a < i.children().length; a++)
                            if (i.children().eq(a).hasClass("active")) {
                                o = i.children().eq(a).position().left, t = i.children().eq(a).width();
                                break
                            }
                        e.moveLineDiv.stop().animate({
                            width: t,
                            left: o + s
                        }, n.animateTime)
                    })
                }(), n.eventType) {
                    case "click":
                        !function () {
                            i.children().on("click", function () {
                                var t = {
                                    ele: $(this),
                                    index: $(this).index()
                                };
                                t.ele.addClass("active").siblings().removeClass("active"), $(o).children().eq(t.index).show().siblings().hide()
                            })
                        }();
                        break;
                    case "mouseover":
                        !function () {
                            i.children().on("mouseover", function () {
                                var t = {
                                    ele: $(this),
                                    index: $(this).index()
                                };
                                t.ele.addClass("active").siblings().removeClass("active"), $(o).children().eq(t.index).show().siblings().hide()
                            })
                        }()
                }
                var o = n.tabContent || "";
                return i.children().eq(0).addClass("active"), $(o).children().eq(0).show().siblings().hide(), e
            }
        }(jQuery)
    }])
});